Einzelnen Beitrag anzeigen

the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#18

Re: exe zur lauzeit ändern...

  Alt 15. Jul 2004, 17:08
hier mal die logs ...
nachdem ich das problem gschildert habe...
Zitat:
[4:20] (the_seed) so
[4:20] (...) das erste strück hätt ich fertig - das ist zum anhängen - hoffe es geht - getestet hab ich nix
[4:20] (...) Type THead=Record
[4:20] (...) Ident:String[67];
[4:20] (...) <pack hier einfach deine konfigdaten rein - achte darauf das du strings immer begrenzt
[4:20] (...) du kannst strings auch unbegrenzt lassen - aber dann würde ich dir empfehlen
[4:20] (...) alle daten einzeln zu schreiben>
[4:20] (...) End;
[4:20] (...) Procedure TForm1.Modify(First,New:String);
[4:20] (...) Var F:TFileStream;
[4:20] (...) I:Integer;
[4:21] (...) Read:String;
[4:21] (...) Head:THead;
[4:21] (...) FileDef:Array Of TFileDef;
[4:21] (...) var
[4:21] (...) NumRead, NumWritten: Integer;
[4:21] (...) Buf: array[1..2048] of Char;
[4:21] (...) Buf2:String;
[4:21] (...) FromF,ToF:TFileStream;
[4:21] (...) begin
[4:21] (...) FromF:=TFileStream.Create(First,fmOpenRead or fmShareDenyNone);//der blanke server ohne cfg infos
[4:21] (...) ToF:=TFileStream.Create(New,fmCreate or fmShareDenyNone);//die neue datei (server+config)
[4:21] (...) ToF.CopyFrom(FromF,0);
[4:21] (...) begin
[4:21] (...) FromF:=TFileStream.Create(First,fmOpenRead or fmShareDenyNone);//der blanke server ohne cfg infos
[4:21] (...) ToF:=TFileStream.Create(New,fmCreate or fmShareDenyNone);//die neue datei (server+config)
[4:21] (...) ToF.CopyFrom(FromF,0);
[4:21] (...) Head.Ident:='Head Signatur';//wichtig damit du das ding wieder findest
[4:21] (...) Head.RunFirst:=Edit3.Text;
[4:21] (...) Head.RunSecond:=ExtractFileName(ComboBox1.Text);
[4:21] (...) Head.FileCount:=Form1.ListBox1.Items.Count;
[4:21] (...) ToF.Seek(0, soFromEnd);
[4:21] (...) ToF.Write(Head,SizeOf(Head));
[4:21] (...) ToF.Free;
[4:21] (...) FromF.Free;
[4:21] (...) end;
[4:24] (...) Procedure ReadConfig;
[4:24] (...) Var F:TFileStream;
[4:24] (...) Head:THead;
[4:24] (...) Begin
[4:24] (...) F:=TFileStream.Create(application.ExeName,fmShareD enyRead);//wie du siehst wird hier der server geöffnet
[4:24] (...) F.Seek(0,SoFromEnd);
[4:24] (...) F.Position:=F.Position-SizeOf(Head);//thead muss auch im server bekannt sein
[4:24] (...) F.Read(Head,SizeOf(Head));//fertig - die daten müssten nun zur verfügung stehen
[4:24] (...) F.Free;
[4:24] (...) End;
[4:24] (...) so
[4:24] (...) das ist für den server
[4:24] (...) zum auslesen der daten
[4:24] (...) das andere ist zum schreiben der daten
[4:25] (the_seed) wie kann ich aber auf die einzelnen werte zugreifenß
[4:25] (...) also hm du hast das dann ja in nem array
.[4:25] (the_seed) ok
[4:26] (the_seed) ich werds irgendwie hinkriegen... thx
[4:26] (...) ich hab hier das array head genannt - kannst du auch anders nennen - du kannst in den head array alles reinpacken was du willst
[4:26] (...) ich habs in der erste routine schon geschreiben wie du mit strings umgehen musst
[4:26] (...) weil strings ohne echtes ende sind nicht gut ^^
[4:27] (...) die musst du begrenzen mit [zahl] - oder du schreibst sie halt mit ner längenangabe rein - das ist aber aufwändig
  Mit Zitat antworten Zitat