Jak dokleić string do programu exe i go potem odczytać

piechnat

Procedurki made by piechnat ;-)

procedure SaveToExe(FName, Str: string);
var
  F : File of Byte;
  i : Integer;
begin
  AssignFile(F, FName);
  Reset(F);
  try
    Seek(F, FileSize(F) - SizeOf(i));
    BlockRead(F, i, SizeOf(i));
    if (i < SizeOf(i)) or (i > FileSize(f)) then i := 0;
    Seek(F, FileSize(F) - i);
    Truncate(F);
    BlockWrite(F, Str[1], Length(Str));
    i := Length(Str) + SizeOf(i);
    BlockWrite(F, i, SizeOf(i));
  finally
    CloseFile(F);
  end;
end;

function LoadFromExe(FName: String): String;
var
  F : File of Byte;
  i : Integer;
begin
  Result := '';
  AssignFile(F, FName);
  FileMode := fmOpenRead;
  Reset(F);
  try
    Seek(F, FileSize(F) - SizeOf(i));
    BlockRead(F, i, SizeOf(i));
    if (i < SizeOf(i)) or (i > FileSize(f)) then Exit;
    Seek(F, FileSize(F) - i);
    SetLength(Result, i - SizeOf(i));
    BlockRead(F, Result[1], Length(Result));
  finally
    CloseFile(F);
  end;
end;
FAQ

19 komentarzy

A taki sam kod jest tu i z opisem dla kumatych

http://dn.codegear.com/article/27979

Bez sensu takie coś skoro nie ma opisu, a potem się dziwią, że są plagiaty.

Co do zapisywania konfiguracji - od tego jest rejestr albo pliki INI, Delphi ma to wbudowane
A magiczne miejsce do wpisywania... przecież są dwa parametry: jeden to nazwa pliku EXE, a drugi to... zagadka dla pytających
Mały opis... jak dla mnie to najważniejsze żeby to działało a jak ktoś chce to zrozumieć to moim zdaniem poradzi sobie bez opisu, za to z Googlem
Antywirus ma się przyczepiać? Do czego? Przecież to jest normalna praktyka, że w EXEkach są przechowywane dane - np. instalatory tak mają

przydaloby sie do tego jeszcze jakis maly opis

Taaa.... tego mi właśnie potrzeba.... tylko że.... w C++.... umi ktoś to przetłumaczyć z Delphi na C++ ? :(

Jak tak to dajcie znać na gg : 2320016

Będę bardzo wdzięczny !!!

Ja ma pytanie. Dlaczego mi pisze jak wywoływuję te procedury i funkcje "File not Found"?? (Tak tak, jestem początkujący)

hmm... a gdzie mam "wpisać" rzeczy do edycji, tnz. gdzie mam wpisać rzeczy które się dodają do programy??

A ja mam pytanie:
Jak popełnić bitowe samobójstwo?
Patrz --> Forum/Delphi

Mam pytanie
Gdzie jest w tej magicznej procedurce miejce do wpisania.

Cześć! Nie, sam z siebie nie może odczytywać, kiedyś się podobnymi rzeczami bawiłem, to musiałem najpierw skopiować (a kopiowanie samego siebie idzie... :) ), a dopiero potem robić zmiany, odczytywanie

Ale wypas, dla mnie super wlaśnie tego nie raz szukałem.

poprostu wypas, swietna procedurka !!

a czy mozna odczytywac zapisany string w pliku jesli jest on aktualnie uzywany? chodzi o to czy program w trakcie dzialania sam moze z siebie odczytac jakis string.

a czy nie dalo by sie w jais sposob modyfikowac uzywanego pliku ?? zeby program mogl w sobie zapisywac konfiguracje swoja ??

widzialem taki kod na torry.net. Wcale mi nie chodzilo o wypominanie Ci jakiegos plagiatu.

Jeżeli Cię uraziłem - przepraszam

piechnat nie gorączkuj się.. mądrzejszemu zawsze głupsi wypominają..

Cały kod czego ? Co prawda zainspirował mnie pewien kod, ale on był podany na forum, pamiętam że na streamach i to dawno temu, jedyne co mi możesz zarzucić to że nie ja wymyśliłem żeby zapisywać pod koniec rozmiar tego co się dopisało, ale czy da się to zrobić bardziej oryginalnie ? W końcu gdzieś to trzeba zapisać ;-) Więc czemu tak ostro ? Może jeszcze napiszesz że podpisuje się pod cudzymi pomysłami. Wydaje mi się że to nie na miejscu wydawać, krzywdzące i bezpodstawne osądy.

zerznales to z torry.net

nie przyczepilbym sie gdybys podal caly kod

A antyvirus się do tego nie przyczepi?