Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi memo zeilen in bestimmte zeile einer Datei (https://www.delphipraxis.net/101047-memo-zeilen-bestimmte-zeile-einer-datei.html)

SaFu 7. Okt 2007 16:52


memo zeilen in bestimmte zeile einer Datei
 
Hi ich bins nochmal :hi:

Ich lese eine datei aus und lasse mir bestimmte zeilen in einem memo anzeigen (nur als überprüfung)

Im nachsten schritt ändere ich die zeile über zwei Edit felder und lasse mir das ergbnis in einem anderen Memo anzeigen.

meine Frage ist jetzt wie bekomme ich die neu geschrieben zeilen an die stelle wo ich die zeilen des memo1 ausgelesen habe

Auslesen der datei der 4 bestimmten zeilen
Delphi-Quellcode:
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.lines.add(LeseZeileAusDatei(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\sysconf.s',38));
  Memo1.lines.add(LeseZeileAusDatei(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\sysconf.s',39));
  Memo1.lines.add(LeseZeileAusDatei(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\sysconf.s',40));
  Memo1.lines.add(LeseZeileAusDatei(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\sysconf.s',41));
end;

function TForm1.LeseZeileAusDatei(Dateiname: String; Zeile: Integer): String;
var Zeilen : TStringList;
begin
  Zeilen := TStringList.Create;
  Zeilen.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\SYSCONF.S');
  try
    Result := Zeilen[Zeile-1];
  except
    Result := '';
  end;
end;
Umbennen der zeilen und im Memo2 ausgeben
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
Var zahl, i : integer ;
begin
 Memo2.Clear;
  zahl := strtoint (Edit1.text) ;
   Memo2.lines.add('DESK-0' +' = TASK(' + Edit1.text + ') LPT(PP0) WX() WY() FONT() TITLE('+ Edit2.Text + ') START(pw)');
     for i:=0 to 2 do
      begin
       zahl:=zahl +1 ;
       Memo2.lines.add('DESK-' +(inttostr (i +1))+' = TASK(' + (inttostr (zahl)) + ') LPT(PP0) WX() WY() FONT() TITLE('+ Edit2.Text + ') START(pw)');
      end;
     end;
  end;
Diese erzeugten zeilen müssten wieder an die positionen der oberen function

DeddyH 7. Okt 2007 17:00

Re: memo zeilen in bestimmte zeile einer Datei
 
Du könntest die Datei in eine StringListe laden und dort die Zeilen über ihren Index ansprechen.

SaFu 7. Okt 2007 17:22

Re: memo zeilen in bestimmte zeile einer Datei
 
kann man das auch mit StringReplace() ??

DeddyH 7. Okt 2007 17:24

Re: memo zeilen in bestimmte zeile einer Datei
 
Was meinst Du jetzt?

SaFu 7. Okt 2007 17:26

Re: memo zeilen in bestimmte zeile einer Datei
 
StringReplace() benennt doch einen string um oder liege ich da falsch ich glaube ich versuche es doch lieber mit der StringList

DeddyH 7. Okt 2007 17:41

Re: memo zeilen in bestimmte zeile einer Datei
 
Ich habe mir gerade Deinen Source noch einmal angesehen und festgestellt, dass Du ja bereits eine StringListe benutzt (die Du übrigens nicht wieder freigibst).

SaFu 7. Okt 2007 17:43

Re: memo zeilen in bestimmte zeile einer Datei
 
Oh danke garnicht gesehen
Delphi-Quellcode:
function TForm1.LeseZeileAusDatei(Dateiname: String; Zeile: Integer): String;
var Zeilen : TStringList;
begin
  Zeilen := TStringList.Create;
  Zeilen.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Dateisysconfs\SYSCONF.S');
  try
    Result := Zeilen[Zeile-1];
  except
    Result := '';
  end;
 zeilen.Free; // hier
end;
kann ich das ersetzen der zeilen eigentlich nicht mit dem gleichen code machen nur anders herum es sind ja immer die gleichen zeilen

DeddyH 7. Okt 2007 17:44

Re: memo zeilen in bestimmte zeile einer Datei
 
Sicher, wieso denn nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz