Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Помагите перенести код с паскаля на си   Найти похожие ветки 

 
AsbAlex   (2004-02-08 01:23) [0]

Код в принципе кароткий ну вообщем вот и он:
procedure TRASReader.ProcessLSABuffer(Buffer: PWideChar; BufLen: LongWord);
var
c: Char;
i, SPos: Integer;
S, BookID: String;
begin
S := ""; SPos := 0; BookID := "";
for i := 0 to BufLen div 2 - 2 do begin
c := WideCharLenToString(@Buffer[i], 1)[1];
if c = #0 then begin
SPos := SPos + 1;
case SPos of
1: BookID := S;
7: if S <> "" then FLSAList.Values[BookID] := S;
end;
S := "";
end else
S := S + c;
if SPos = 9 then begin
BookID := "";
SPos := 0;
end;
end;
end;

З.Ы.
Помагите кто может очень надо.
Если ВЫ находитесь в Ашхабаде могу расплатица пивом.


 
Rouse_ ©   (2004-02-08 01:47) [1]

WideCharLenToString = WideCharToString


 
TUser ©   (2004-02-08 11:12) [2]

procedure = void ... (...)
Переменные оописывать так
char c;
int i, SPos;
:= = =
" = "
case = switch
for ... = for (i=0;i<=скока надо; i++) {};
begin = {
end = }
a div b = (a - a%b)/b

Все остальное вроде должно пахать.
Пыво шлите этот адрес mailto:evaksianov@mail.ru


 
F@TE   (2004-02-08 12:38) [3]


void TRASReader :: ProcessLSABuffer (Buffer* char, BufLen LongInt)
{
char c;
char S[255] = {""}, BookID[255] = {""};

for (int i = 0, SPos = 0; i <= ((int)BufLen/2) - 2; i++)
{
c = WideCharToString (Buffer[i], 1);
if (c == 0)
{
SPos++;
switch (SPos)
{
case 1: strcpy (BookID, S); break;
case 7:
if (strlen(S))
{
// Тут надо знать что, за типы и etc
FLSAList->Values[BookID] = S;
FLSAList.Values[BookID] = S;
}
}

S[0] = "\0";
}
else
{
S[strlen(S)] = c;
if (SPos == 9)
{
BookID[0] = "\0";
SPos = 0;
}
}
}
}


Работоспособность проверить негде :(
Ошибки есть обязательно :(


 
AsbAlex ©   (2004-02-10 02:03) [4]

Всем спасибо я уже разобрался.


 
VMcL ©   (2004-02-10 07:10) [5]

>>TUser © (08.02.04 11:12) [2]
>a div b = (a - a%b)/b

Это новый вид извращения в C.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-80110
syte_ser78
2004-02-02 12:54
2004.02.25
как узнать версию, релиз, выпуск экзешника?


14-80286
jack128
2004-02-01 12:48
2004.02.25
Намагничена, поляризована...


7-80314
Vitaly Grobshtein
2003-12-04 11:52
2004.02.25
Отключить темы WinXP


14-80236
MDFE
2004-02-02 08:44
2004.02.25
Просмотрщик дайджестов


1-79749
дурак
2004-02-10 02:06
2004.02.25
аля ку3