AGB  ·  Datenschutz  ·  Impressum  







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

Anzahl der Zeichen in einer Zeile

Ein Thema von Christian18 · begonnen am 24. Aug 2004 · letzter Beitrag vom 24. Aug 2004
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Anzahl der Zeichen in einer Zeile

  Alt 24. Aug 2004, 11:49
Hallo,

ich habe einen textdatei eingelesen und wollte jetzt ausgeben wie viele zeichen eine zeile enthält. wie mache ich das???
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Anzahl der Zeichen in einer Zeile

  Alt 24. Aug 2004, 11:56
Wenn du es mit der Methode LoadFromFile der Klasse TStrings (oder der Nachkommen) gemacht hast, dann kannst du das mit Length(StringsObjekt.Items[ZeilenNummer]) machen...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#3

Re: Anzahl der Zeichen in einer Zeile

  Alt 24. Aug 2004, 12:08
hier einmal mei code den ich bis jetzt habe:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var open : TOpenDialog;
      f : TextFile;
      z : array of char;
      i : Integer;
      s : String;
begin
  SetLength(z,10);

  open:=TOpenDialog.Create(self);

  if
    open.Execute
  then
    begin
      AssignFile(f, open.FileName);
      Reset(f);
      for i:=0 to 9 do
        begin
          Read(f, z[i]);
        end;

      CloseFile(f);

      for i:=0 to 9 do
        begin
          s:=s+z[i];
        end;
      Label1.Caption:=s;
    end;
end;
ich verstehe nicht was ich jetzt machen soll.

Mit freundlichen Grüßen Christian18
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Anzahl der Zeichen in einer Zeile

  Alt 24. Aug 2004, 12:20
ein paar wichtige Sachen:
-Dein Compiler sagt sicherlich:
'Variable 's' möglicherweise nicht initialisiert';

So hast du in 's' immer noch Speichermüll drin und bekommst nie ein richtiges Ergebniss.

Du gehst davon aus, dass deine Datei immer aus 10 Einträgen besteht. Wenn du schreibst'
Delphi-Quellcode:
reset(f);
while not EOF(f) do
readln(f,sonstwohin);
werden alle Zeilen eingelesen.

READ ist für typisierte Dateien, um Textdateien zu lesen ist ReadLn der richtige Weg.

Wenn du einen Opendialog schon dynamisch erstellst, solltest du ihn auch wieder freigeben.

Im Zweiten for-Teil schreibst du alle Zeilen hintereinander.

Wenn du wirklich nur die Zeichenanzahl in deiner Datei haben willst, kannst du die Zeilen auch nur in eine string-Variable einlesen, also:
Delphi-Quellcode:
str:string; i: integer;
...
Assignfile(f,open.filename);
reset(f);
i:=0;
while not EOF(f) do
begin
readln(f,str);
inc(i,length(str));
end;

label1.caption:='Hier hab ich grad '+inttostr(i)+' Zeichen gefunden.';
Ist jetzt nicht getestet aber in die Richtung sollte was gehen
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:00 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