Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Einfache memo Ausgabe (https://www.delphipraxis.net/8386-einfache-memo-ausgabe.html)

Ringer 3. Sep 2003 14:17


Einfache memo Ausgabe
 
Hallo Zusammen,

ich noch ein ziemlicher Anfänger und verstehe deshalb auch bestimmt nicht wo hier der Fehler ist!

Delphi-Quellcode:
procedure TTest_1.Button4Click(Sender: TObject);
var sInput: String;
    s:TStrings;
    sl:TStringList;
    char:pchar;
  begin
    sInput := 'C:\Test\Delphi_Projekte\Test_1\test.txt';
    s:=TStrings.create;
    sl:=TStringlist.create;
    s.LoadFromFile(sInput);
    char:=pchar(s);
    ExtractStrings([','],[],char,sl);
    memo2.Lines.Add(sl[1]);
    s.Free;
  end;
mfg Ringer

Akut-Programming 3. Sep 2003 14:33

Re: Einfache memo Ausgabe
 
Hi! Also ich bin auch relativ neu hier, und hoffe ma, das ich mich jetzt nicht zuweit aus dem Fenster lehne.

Versuch ma sInput als TextFile zudeklarieren...

Delphi-Quellcode:
procedure TTest_1.Button4Click(Sender: TObject);
var sInput: TextFile;
...
Wenn du sagst das
Code:
s.LoadFromFile(sInput)
dann muss auch die Variable in der sich deine Textdatei befindet als TextFile deklariert sein!

Ich hoffe es hilft dir weiter

Ringer 3. Sep 2003 14:38

Re: Einfache memo Ausgabe
 
Danke, aber funzt leider nicht! Ganz im Gegenteil jetzt läuft es nicht mehr :?: . Ich denke auch nicht das da das Problem aber wenn ich wüßte wo es wäre...

Dannyboy 3. Sep 2003 14:42

Re: Einfache memo Ausgabe
 
Was funktioniert nicht?
Text wird nicht geladen oder Fehlermeldung? Welche?

Ringer 3. Sep 2003 14:44

Re: Einfache memo Ausgabe
 
Also es passiert einfach gar nichts!

Vielleicht auch noch wichtig die Textdatei sieht so aus:

wert1,wert2,wert3,...

mfg

Ringer

Luckie 3. Sep 2003 14:46

Re: Einfache memo Ausgabe
 
Kann mir mal bitte jemand auf deutsch erklären was ExtractStrings macht?
Zitat:

Zitat von Delphi Hilfe
Use ExtractStrings to fill a string list with the substrings of the null-terminated string specified by Content.

@Ringer: Was willst du denn erreichen?

Ringer 3. Sep 2003 14:51

Re: Einfache memo Ausgabe
 
Hier eine Erklärung:

http://delphi.about.com/library/rtl/...actStrings.htm

mfg

Ringer

Sourcemaker 3. Sep 2003 15:10

Re: Einfache memo Ausgabe
 
Im Debugger überprüft ob in der Stringlist vor und nach Extractstrings etwas enthalten ist ?
Oder entsprechend des Beispiels von Extract... statt s Memo.Lines als Parameter für Extractstrings angeben.

Matze 3. Sep 2003 15:20

Re: Einfache memo Ausgabe
 
Bei mir kommt da eine obergeniale Fehlermeldung, mit der ich wirklich viel anfangen kann:

Zitat:

Project1 - Abstrakter Fehler.
Kann Borland seine Fehlermeldungen nicht so machen, damit man weiß, was los ist.

Das habe ich ja noch nie gehört: ABSTRAKTER FEHLER. :mrgreen:

Ringer 3. Sep 2003 15:31

Re: Einfache memo Ausgabe
 
Also den abstrakten Fehler hatte ich noch nicht :D .

Sonst habe ich die Ausgabe auch wie im Beispiel geändert! Aber ohne Erfolg!

Ringer

Alexander 3. Sep 2003 15:31

Re: Einfache memo Ausgabe
 
Hallo,
wenn du einfach nur eine Datei ins Memo laden willst, so schau die mal Lines.LoafFromFile an ;-)

Ringer 3. Sep 2003 15:33

Re: Einfache memo Ausgabe
 
Danke aber ich will das halt nicht nur einfach machen :D

Wormid 3. Sep 2003 15:34

Re: Einfache memo Ausgabe
 
So funktioniert die Routine bei mir:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var SL, Tokens: TStringList;
    i: Integer;
begin
  SL := TStringList.Create;
  Tokens := TStringList.Create;

  SL.LoadFromFile('C:\test.txt');
  for i := 0 to (ExtractStrings([','], [], PChar(SL.Text), Tokens) - 1) do
    Memo1.Lines.Add(Tokens[i]);

  SL.Free;
  Tokens.Free;
end;
Das ganze geht jetzt nur davon aus, das das Textfile nur eine Zeile mit Werten enthält.

Gruß

Wormid

Ringer 3. Sep 2003 15:47

Re: Einfache memo Ausgabe
 
Danke aber aus irgendeinen Grund will es bei mir nicht gehen...

Habe einen code zu 100% übernommen aber es will nicht :(

Falls du noch eine Idee hast (vielleicht auch wie es mit mehreren zeilen gehen kann) einfach nochmal schicken!

Vielen DANK

Gruß Ringer

Wormid 3. Sep 2003 15:50

Re: Einfache memo Ausgabe
 
Wie sieht denn dein Textfile aus?

Ich hatte mir zum Test eines erstellt mit diesem Inhalt:

wert1,wert2,wert3,wert4

Mehr stand da nicht drin.

Ringer 3. Sep 2003 15:53

Re: Einfache memo Ausgabe
 
Meines ging bis zu wert5 also

wert1,wert2,wert3,wert4,wert5

Vielleicht sind ja 5 Werte zu viel für mein notebook :wink:

Ringer

Matze 3. Sep 2003 15:55

Re: Einfache memo Ausgabe
 
Bei mir geht die Lösung von Wormid, nur so nebenbei. ;)

Nachtag: Ich hab's mit 17 Werten gemacht.

Wormid 3. Sep 2003 15:57

Re: Einfache memo Ausgabe
 
Um mehrere Zeilen nacheinander abzuarbeiten muss das so aussehen:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var SL, Tokens: TStringList;
    i, n: Integer;
begin
  SL := TStringList.Create;
  Tokens := TStringList.Create;

  SL.LoadFromFile('C:\test.txt');
  for n := 0 to SL.Count - 1 do
  begin
    Tokens.Clear; // Wenn man die Liste nicht leer macht, hängt
                   // EtractStrings die neuen Werte an die Liste hinten
                   // an. Aber das kann ja auch gewollt sein. ;-)
    for i := 0 to (ExtractStrings([','], [], PChar(SL[n]), Tokens) - 1) do
      Memo1.Lines.Add('Zeile ' + IntToStr(n + 1) + ': ' + Tokens[i]);
  end;

  SL.Free;
  Tokens.Free;
end;

Ringer 3. Sep 2003 15:59

Re: Einfache memo Ausgabe
 
Habe jetzt gerade ein neues Projekt erstellt und alleine läuft es!! Also liegt der Fehler irgendwo in meinen activex control... :?: :?:

Also danke! Falls du mir noch schreibst wie ich mehrere Zeile auslese, machst du einen seit Stunden verzweifelten Menschen mehr als glücklich :!:

Vielen DANK!

Gruß

Ringer

Alexander 3. Sep 2003 16:01

Re: Einfache memo Ausgabe
 
Zitat:

Danke aber ich will das halt nicht nur einfach machen
:shock: na dann :shock: :mrgreen:

Wormid 3. Sep 2003 16:10

Re: Einfache memo Ausgabe
 
Zitat:

Zitat von Ringer
Also danke! Falls du mir noch schreibst wie ich mehrere Zeile auslese, machst du einen seit Stunden verzweifelten Menschen mehr als glücklich :!:

Schau mal in meinen letzten Post direkt über deinem... :mrgreen:

Wenn Du alle Werte in einer Liste haben willst, dann muss nur das Tokens.Clear gelöscht werden...

Gruß

Wormid

Ringer 3. Sep 2003 16:13

Re: Einfache memo Ausgabe
 
Also Danke nochmal!

Gruß

Ringer

Christian Seehase 3. Sep 2003 16:39

Re: Einfache memo Ausgabe
 
Moin Zusammen,

@Akut-Programming:
Die Methode LoadFromFile erwartet als Parameter einen String der den Pfad zu der Datei enthält, aus der die StringListe geladen werden soll, also ist eine Variable vom Typ String völlig Ok.
Du hast das vermutlich mit den "alten" Funktionen für Dateizugriffe (AssignFile, Reset, Rewrite...) verwechselt.

@Matze:
Falls Dich das Thema "Abstrakt" weiter interessiert: Wir hatten das hier erst vor ein paar Tagen. Hier im Forum suchenabstrakte klasse


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 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