Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите перевести несколько ;строк с С++ на PAS [D6, Win2k]


Antonius ©   (2002-07-29 12:03:00) 

Надо перевести след. строки, когда-то давно я умел это делать и сам:) Что-то туплю с порядком выполнения разных ++ :)

writepos-=o; //writepos:=writepos-o; Правильно?
length/=2; // length:=length/2; ?

for (l=0;l<length;l++) *buffer++=buf[(readposl+l)*2]; // Это вообще сказка, мозги заплетаются, ничего не понимаю :)

return length*2; //Result:=length*2 ?

заранее спасибо.


Виктор Щербаков   (2002-07-29 12:51:00) [1]

Внук © (29.07.02 12:49)
ага :)


Внук   (2002-07-29 12:49:00) [2]

>>Виктор Щербаков © (29.07.02 12:11)
Только to length-1, вроде?


Antonius   (2002-07-29 12:42:00) [3]

Это все внутри процедуры:

DWORD CALLBACK stleft(HSTREAM handle, short *buffer, DWORD length, BUFSTUFF *b)

DWORD l; //Переменная L, но с ней все понятно
в принципе, все понял. Спасибо.


Виктор Щербаков   (2002-07-29 12:11:00) [4]

Перепутал.
for l := 0 to length do


Виктор Щербаков   (2002-07-29 12:10:00) [5]

Приведи декларации переменных.
Но вообще, что-то вроде
for i := 0 to length do
begin
buffer^ := buf[(readposl + l) * 2];
Inc(buffer)
end;

Result := length * 2;
Exit;


Наверх

Титульная страница Поиск, карта сайта Написать письмо