Skocz do zawartości

[DELPHI] Zmiana bajtów w pliku


alek12

Polecane posty

Więc tak udało mi się coś zrobić :

 

KOD While I<>10 do

begin

 

a.position:=a.position+1;

c:=$FF;

a.write(C,1);

I:=i+1;

 

end;

end;

 

Tylko od razu po wykonaniu tej funkcji program się wiesza, i nie wiem dlaczego :(

 

Bez While position doskonale działa. Mi się zdaje że wina stoi w C:=$FF ale nie jestem pewien.

Link do komentarza
Udostępnij na innych stronach

Możecie mi powiedzieć co z ta pętlą jest nie tak :

a.position:=0;

KOD for i:=0 to 10 do

begin

 

a.position:=a.position;

c:=$FF;

a.write(C,11);

a.Position:=a.Position+1

 

end;

a.free;

 

Wszystko wygląda poprawnie ale po wywołaniu tego zostały odczytane złe bajty taki cały rozsyp po pliku a miał odczytać ich 11 i zacząć od bajtu pod nr 0

Link do komentarza
Udostępnij na innych stronach

Żal mi Ciebie alek12, pytasz o podstawy, ktore w przypadku pisania edytora hex powinnes znac bez problemow. Pytales, czym jest position, a ja Ciebie zapytam czy wiesz czym jest google? jak go uzywac? Mocno sie zastanow czy warto 'wyplywac na tak glebokie wody' bez znajomosci podstaw.

 

ps. post pisany na ekranie k510i 160x128 px :P ;P (nudzi sie czlowiekowi w pracy)

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

No to ja wiem na jakiej zasadzie działa position << określa ona bajt od którego ma się zacząć odczyt/zapis. A żeby zapisać coś na tym odczytanym bajcie to złoży write. Więc zrobiłem pętle która będzie odczytywała poklei bajty i zapisywała na nich np $FF

Link do komentarza
Udostępnij na innych stronach

a co google zgubiło okulary ???

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

nie potrafisz myśleć ,czy wolisz mieć wszystko podane na tacy ,żeby było cacy ??

 

Szukaleś pod "peyloaud dla Delphi 7" i kombinacje ??

 

A może w pakiecie tych komponetow ,jest plik z nazwą d7 czy cos podobnego ??

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Gość
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Utwórz nowe...