Вниз
Скачать: CL | DM;

Как перевести на WinAPI?   Найти похожие ветки 

← →
_HAWK_   (2006-06-07 07:03) [0]

Привет всем! Вопрос к тем, кто знает WinAPI. У меня вопрос такого характера: имеется процедура:
var
 D: Byte;
 I: Integer;
 F, K: TStream;
begin
 if OpenF.Execute then
  begin
    F := TFileStream.Create(OpenF.FileName,fmOpenRead);
    K := TFileStream.Create("Decode.dat",fmCreate);
    ProgressBar.MaxValue := F.Size;
    for I := 0 to F.Size - 1 do
     begin
       F.Position := I;
       K.Position := I;
       F.Read(D,1);
       D := D-((I*85)-I+12345+28*I+(2*I+5-I-1));
       K.Write(D,1);
       ProgressBar.Progress := I;
       Application.ProcessMessages;
       if Application.Terminated then Break;
     end;
    ProgressBar.Progress := I;
    K.Free;
    F.Free;
    ProgressBar.Progress:= 0;
    ListBox.Items.LoadFromFile("Decode.dat");
    if FileExists("Decode.dat") then
     DeleteFile("Decode.dat");
  end;
 ListBox.ItemIndex := 0;
 ListBoxClick(nil);

Можно ли перевести ее на чисты WinAPI?


← →
tButton ©   (2006-06-07 07:28) [1]


>     ProgressBar.Progress := I;
>     K.Free;
>     F.Free;
>     ProgressBar.Progress:= 0;

первую строчку можно убрать, ибо этого никто не увидит, потому что перерисовки между первой и последней строчкой нет.


← →
_HAWK_   (2006-06-07 08:11) [2]

А вообще можно перевести этот код без потери работоспособности?


← →
evvcom ©   (2006-06-07 08:52) [3]


> А вообще можно перевести этот код без потери работоспособности?

Можно. Но мучительно долго...
Можно и Windows на чистом ассемблере переписать. :-) Рискнешь?


← →
tButton ©   (2006-06-07 08:56) [4]


> А вообще можно перевести этот код без потери работоспособности?

а что тут переводить?
заменить вызов одних функций другими?
а оно нужно?


← →
_HAWK_   (2006-06-07 08:56) [5]


> Можно. Но мучительно долго...

Если знаешь как, помоги пожалуйста, буду весьма признателен...


← →
evvcom ©   (2006-06-07 09:03) [6]


> Если знаешь как, помоги пожалуйста, буду весьма признателен...

Ты думаешь, я мазохист? Или мне делать от скуки нечего? Дядька Борланд кучу классов-надстроек над WinAPI написал, чтобы нам жить легче было, а ты хочешь rollback сделать? Без меня...


← →
han_malign ©   (2006-06-07 10:54) [7]


> первую строчку можно убрать, ибо этого никто не увидит, потому что перерисовки между первой и последней строчкой нет.

- посмотри реализацию ProgressBar и удивись...


> помоги пожалуйста, буду весьма признателен...

CreateFile
GetFileSize
SetFilePointer
ReadFile
WriteFile
...
CloseHandle


← →
evvcom ©   (2006-06-07 11:11) [8]


> han_malign ©   (07.06.06 10:54) [7]

Угу. А еще он использует TApplication, TProgressBar, TListBox и наверняка TForm.


← →
Игорь Шевченко ©   (2006-06-07 15:15) [9]

CopyFileEx



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
2-1151941702
Вася
2006-07-03 19:48
2006.07.23
png не расстянуть


15-1150177750
Ega23
2006-06-13 09:49
2006.07.23
С Днём рождения! 10 июня


1-1149794468
GanibalLector
2006-06-08 23:21
2006.07.23
Интерфейсы...


15-1151218322
Nic
2006-06-25 10:52
2006.07.23
Какие преимущества даёт компонент TActionList?


15-1151135169
Verg
2006-06-24 11:46
2006.07.23
Задачка. Надой найти кратчайшее решение.




   Наверх