AGB  ·  Datenschutz  ·  Impressum  







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

Textdatei einlesen u. drucken

Ein Thema von Sturmrider · begonnen am 3. Apr 2006 · letzter Beitrag vom 4. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Sturmrider

Registriert seit: 12. Mär 2006
30 Beiträge
 
#11

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 20:27
Achso procedure GridDruck(grd:TStringGrid;links,oben:word;scal:dou ble); muss in eine eigene Unit?
Ich habe bisher nur eine Unit (nämlich: Unit1.pas)
Muss ich eine neue Unit mit dem namen SysUtils anlegen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 20:31
Zitat von Sturmrider:
Achso procedure GridDruck(grd:TStringGrid;links,oben:word;scal:dou ble); muss in eine eigene Unit?
Ich habe bisher nur eine Unit (nämlich: Unit1.pas)
Nein, sie kann in der selben Unit sein. es würde sich aber anbieten diese in eine andere Unit auszulagern, zwecks Wiederverwendung.
M
Zitat:
uss ich eine neue Unit mit dem namen SysUtils anlegen?
Nein, auf keinen Fall. sysUtils ist eine Standard-Unit in der sich u.a. die Funktion StringReplace befindet.
Markus Kinzler
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#13

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 20:36
Hi,

ich mein ja nur mal so, aber die Funktion die du da oben zum Einlesen der Datei in dein StringGrid benutzt, ist ja nicht sooo das wahre...

Delphi-Quellcode:
procedure TForm1.DruckenClick(Sender: TObject);
var
  SlFile: TStringList;
  SlLine: TStringList;
  i: Integer;
  j: Integer;
begin
  SlFile:=TStringList.Create;
  SlLine:=TStringList.Create;
  SlFile.LoadFromFile('pfad zu deiner datei');

  for i:=0 to SlFile.Count-1 do
  begin
        SlLine.Clear;
        SlLine.Delimiter:='|';
        SlLine.DelimitedText:=SlFile[i];

        for j:=0 to SlLine.Count-1 do
                StringGrid1.Cells[j, i]:=SlLine.Strings[j];
  end;

  //hier könntest du jetzt die GridDruck-Prozedur aufrufen.

  FreeAndNil(SlFile);
  FreeAndNil(SlLine);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 20:58
Zitat von Benedikt:
ich mein ja nur mal so, aber die Funktion die du da oben zum Einlesen der Datei in dein StringGrid benutzt, ist ja nicht sooo das wahre...
Warum nicht?
Markus Kinzler
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#15

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 21:02
Also sieh dir das mal an hier:

Delphi-Quellcode:
procedure TForm1.DruckenClick(Sender: TObject);
var
  sl: TStrings;
  tf: TextFile;
  s: string;
begin
  sl := TStringList.Create;
  sl.StringReplace( s, '|', ',', rfReplaceAll);
  AssignFile('posts.ini', tf);
  Reset( tf);
  while not eof( tf) do
  begin
    ReadLn( tf, s);
    sl.StringReplace( s, '|', ',', rfReplaceAll) := s;
  end;
  CloseFile(tf);

    for i := 0 to sl.Count do
    begin
      StringGrid.Cells[i,j] := sl.Strings[i]
    end;
    inc(j);

    griddruck(stringgrid,0,0,1);


end;
Kein Wunder das davon nichts geht? Da würden Fehlermeldungen wegen Listen-Index kommen, StringReplace ist keine Untermethode von TStringList und zudem Überflüssig, und auch sonst ist das etwas umständlich meiner Meinung nach...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 21:12
Zitat:
StringReplace ist ... Überflüssig, und auch sonst ist das etwas umständlich meiner Meinung nach...
Aber notwendig, da Delimiter/DelimitedText erst ab D6 vorhanden sind. Anfänglich war dies ja auch so im Code.
Zitat:
StringReplace ist keine Untermethode von TStringList
Da hat er mich falsch verstanden, hatte ihm geraten statt .DelimitedText .CommaText zu nehmen und vorher die Pipes durch Kommas zu ersetzen. Also:

sl.CommText := StringReplace( s, '|', ',', rfReplaceAll); Hab sein Post nicht mehr durchgelesen und deshalb die Fehler übersehen ;-(

[Edit: Vetippt noch mal!]
Markus Kinzler
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#17

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 21:15
Zitat von mkinzler:
Aber notwendig, da Delimiter/DelimitedText erst ab D6 vorhanden sind.
Ok, das hab ich net bedacht wenn es so ist bzw. auch weiter oben wohl überlesen, sry dafür...
Mir fiel nur das Chaos in dieser Prozedur auf, aber is ja nun auch egal
  Mit Zitat antworten Zitat
3. Apr 2006, 21:19
Dieses Thema wurde von "MrSpock" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Object-Pascal / Delphi-Language" verschoben.
Ist kein Beitrag zur Codelib.
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 21:25
Auch wenn du vielleicht anderst verstanden hast, bin ich offen für Kritik. Ich hab mir nur gedacht, daß du nicht den ganzen Thread gelesen hast.
Markus Kinzler
  Mit Zitat antworten Zitat
Sturmrider

Registriert seit: 12. Mär 2006
30 Beiträge
 
#20

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 21:28
Ohje...das mit den Units etc. habe ich erlichgesagt nicht im geringsten verstanden uu
Ich bekomme leider immernoch einen Fehler, auch wenn ich Benedikt Version benutze uu

[Fehler] Unit1.pas(157): Undefinierter Bezeichner: 'StringReplace'

was mache ich nur falsch uu?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 15:16 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