AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text einlesen und bearbeiten...

Ein Thema von Stern · begonnen am 26. Feb 2007 · letzter Beitrag vom 26. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stern
Stern

Registriert seit: 26. Feb 2007
Ort: Köln
74 Beiträge
 
#1

Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 19:37
Hallo liebes Forum,

vorweg, ich bin ein absoluter Neuling auf dem Gebiet Delphi komme mehr aus der "Netz-Ecke"...

Ich will euch mal mein Problem schildern und hoffe, jemand von euch kann mir bei meinem, vielleicht auch etwas banalen Problem helfen.

Ich würde nämlich gerne eine .txt Datei ab einer bestimmten Zeile einlesen und dann den Text verändern. Nun würde ich die Datei gerne abspiechern und somit die alte Datei überschreiben.

Das ganze als Formular wär schon ganz schön. Naja, nach 2 Stunden suchen habe ich es gerade mal geschafft, die Datei komplett in eine StringList einzulesen. Mehr aber nicht...

Ich würd mich wahnsinnig freuen, wenn sich hier einer der kleinen verzweifelt suchenden Steffi annehmen würde

Liebe Grüße
Steff
steffi
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 19:43
öhm also meines wissens nach, kannst du die datei die du geöffnet hast nicht überschreiben...

du müsstest dir temporär ein 2. txt file erstellen in das die daten schreiben, speichern, und danach wieder in die original datei umbennen...
also zumidest hab ich das immer so gemacht...

leider hab ich mein geschäfts notebook grad nicht da, sonst hätte ich dir gleich ein bsp. schicken könenn...
wenns langt hol ich das morgen nach?!
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 19:48
Hallo,

die Delphi-Onlinehilfe kann dir da sicher gut weiterhelfen: Einfach mal den Cursor wo hinstellen, wo Delphi-Referenz durchsuchenTStringList steht, und F1 drücken!

Da kommen dann so Sachen wie die "Items" Eigenschaft...

Aber um gleich ein Beispiel zu bringen:

Text := MyStringList[LineIndex]; Damit bekommst du (von 0 an gezählt) die LineIndex'ste Zeile des INhalts der Stringliste. und das kannst du dann manipulieren. Zurück gehts genau andersrum:

MyStringList[LineIndex] := Text; @andidreas: Öhm... näää... wenn sie es in die stringliste einliest, ist die datei nicht dauernd geöffnet. also kein problem.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 19:52
@dgl-luke... mit stringlists hab ich nie in verbindung mit txt files gearbeitet von daher wusst ich das nicht ^^
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 19:56
Damit steuerst Du die Zeilen an;

StringList.Strings[index] [dp]StrUtils und damit die Strings bearbeiten.

StringList..Delete(index); und damit löschst Du Zeilen
  Mit Zitat antworten Zitat
Benutzerbild von Stern
Stern

Registriert seit: 26. Feb 2007
Ort: Köln
74 Beiträge
 
#6

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 20:15
Meine Güte,

hier geht's aber rund...

Ich werde mich mal gleich ransetzen und noch ein bisschen was versuchen.
@Andidreas: Das wär superlieb, wenn du mir da ein Beispiel zukommen lassen könntest. Vielleicht denkste morgen ja dran
Email per pm...

@all: Also das war mehr ein Versuch mit der StringList, dass is mir halt bekannt vorgekommen ... Wäre es einfach, das ganze in ein editierbares Textfeld einzulesen? Hätte mir da jemand nen kurzen Ansatz, denn ich hab wirklich noch gar keinen Überblick mit den Formularen, etc...

Ganz liebe Grüße
Steffi
steffi
  Mit Zitat antworten Zitat
Benutzerbild von Stern
Stern

Registriert seit: 26. Feb 2007
Ort: Köln
74 Beiträge
 
#7

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 20:28
Ok, ich hab mal hier schon was probiert. Damit bekomme ich die erste Zeile angezeigt. Wie kann ich diese und die folgenden 37 aber in ein Textfeld laden und diese verändern?

Mhm...

das hab ich bis jetzt mal hinbekommen:

Code:
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
    zeilennr: integer;
begin
  sl:=TStringList.Create; //Objekt erzeugen

  try
    sl.LoadFromFile('c:\...\text.txt'); //Datei in Stringliste laden
    ShowMessage(sl.Strings[21]); //Meldung ausgeben

  finally
    sl.free; //Objekt wieder freigeben
  end;
end;

end.
Entschuldigt bitte, wenn ich zu ungeduldig bin, aber mich hat's gepackt

Liebe Grüße
Steffi
steffi
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 20:32
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1 : TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
    zeilennr: integer;
    i:Byte;
begin
  sl:=TStringList.Create; //Objekt erzeugen

  try
    sl.LoadFromFile('c:\...\text.txt'); //Datei in Stringliste laden
    //ShowMessage(sl.Strings[21]); //Meldung ausgeben
    for i:=21 to 58 do
      Memo1.add(sl[i]);


  finally
    sl.free; //Objekt wieder freigeben
  end;
end;

end.
Sollte in etwa so gehen. Du brauchst dazu noch ein TMemo.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Stern
Stern

Registriert seit: 26. Feb 2007
Ort: Köln
74 Beiträge
 
#9

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 20:56
Hallo Klaus,

vielen Dank für deine Antwort. Ich habe dein Beispiel mal versucht, bekomme aber die Fehlermeldung
"TMemo enthält kein Element 'add'".

Muss ich eventuell noch etwas importieren um TMemo nutzen zu können? Ich kann noch nicht weiter kompilieren...
oder muss ich vielleicht irgendwelche Einstellungen am Formular selbst vornehmen?

Ganz liebe Grüße
Steffi
steffi
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Text einlesen und bearbeiten...

  Alt 26. Feb 2007, 21:01
Schau mal unter

Delphi-Quellcode:

Memo1.Lines.LoadFromFile(Dateiname);
Uwe
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 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