AGB  ·  Datenschutz  ·  Impressum  







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

read und write

Ein Thema von EWeiss · begonnen am 30. Jun 2019 · letzter Beitrag vom 1. Jul 2019
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: read und write

  Alt 30. Jun 2019, 13:44
Werde es mal testen danke für die Informationen..
Leider nicht.

PS:
E\A error..

gruss
LOL... Nach dem Lesen, musst Du die Datei natürlich wieder zu machen und mit rewrite neu schreiben...
Schon klar
Readln(F,Array[i]) Hier kracht es schon.. direkt nach dem öffnen.
Hatte hier natürlich ein entsprechendes Array vorher erstellt nicht deine Definition.
Falls du das denkst.

also fakt ich komme gar nicht erst zum lesen ich öffne die Datei und es kracht.
Kein Problem werde mir eine Lösung erarbeiten. Trotzdem Danke nochmals.

gruss

Geändert von EWeiss (30. Jun 2019 um 14:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: read und write

  Alt 30. Jun 2019, 14:07
Readln(F,Array[i]) Hier kracht es schon.. direkt nach dem öffnen.
Ich hoff Du hast es so nicht geschrieben...

sondern

Delphi-Quellcode:
Var
  S : TArray<String>;
Zeig mal den Code PLS
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: read und write

  Alt 30. Jun 2019, 14:11
Zitat:
Ich hoff Du hast es so nicht geschrieben...
Meine Antwort dazu.. dachte mir schon das so eine Frage auftaucht.
Zitat:
Hatte hier natürlich ein entsprechendes Array vorher erstellt nicht deine Definition.
Falls du das denkst.
so aus dem Steg heraus..

File öffnen..
Delphi-Quellcode:
var
  CheckM3U: array of string;
  i: Integer;
begin
  I := 0;
  AssignFile(F, Filename);
  SetLength(CheckM3U, FFile.Count);

  While not eof do
    Readln(F, CheckM3U[i]); // crash..
    inc(I);
end;
gruss

Geändert von EWeiss (30. Jun 2019 um 14:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: read und write

  Alt 30. Jun 2019, 14:18
File öffnen..
Delphi-Quellcode:
var
  CheckM3U: array of string;
  i: Integer;
begin
  AssignFile(F, Filename);
  SetLength(CheckM3U, FFile.Count); // <- das ist eine Textdatei File Count ist nicht die Zeilen Anzahl

  Reset(f); // Fehlte

  I := 0; // Fehlte
  While not eof do
    Readln(F, CheckM3U[i]); // crash.. logisch
    inc(I);
end;
Also eher:

Delphi-Quellcode:
var
  f : Textfile;
  CheckM3U: array of string;
  i,Grow: Integer;
begin
  Grow := 100;
  AssignFile(F, Filename);
  SetLength(CheckM3U,Grow);

  Reset(f); // Fehlte

  I := 0; // Fehlte
  While not eof do
    begin
    if I > high(CheckM3U) then
      setlength(CheckM3U,Length(CheckM3U)+Grow);
 
    Readln(F, CheckM3U[i]); // crash.. logisch
    inc(I);
    end;
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: read und write

  Alt 30. Jun 2019, 14:23
I := 0; // Fehlte Du hast mich nicht zu ende schreiben lassen hatte es zu früh abgeschickt da von Hand getippt. )

Zitat:
// <- das ist eine Textdatei File Count ist nicht die Zeilen Anzahl
Jo
btw.. Dein Grow auch nicht

Zitat:
Reset(f); // Fehlte
Ja nicht auf den Zeilenanfang gesetzt.

werde es nochmal testen Danke.

gruss

Geändert von EWeiss (30. Jun 2019 um 14:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: read und write

  Alt 30. Jun 2019, 14:32
btw.. Dein Grow auch nicht
Das ist ja auch nur dafür da, damit Du nicht für jede Zeile ein Setlength aufrufen musst.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: read und write

  Alt 30. Jun 2019, 14:54
Ich mache eine Kombination von beiden und gut ist.
Ist mir jetzt zu viel Arbeit die Zeilenlänge des Textes von Hand zu ermitteln.

so geht's und gut ist

Delphi-Quellcode:
function TPlayList.SaveM3UFile(Filename: String; clear: BOOL = false): Boolean;
var
  F: TextFile;
  Buffer: String;
  i: Integer;
  CheckM3U: BOOL;
  SList: TStringList;
begin
  Result := True;
  CheckM3U := false;
  try
    SList := TStringList.create;
    SList.LoadFromFile(Filename);
    if SList.Strings[0] = '#EXTM3Uthen
      CheckM3U := true;
    SList.Free;

    AssignFile(F, Filename);
    if (FileExists(Filename)) and (not Clear) then
    begin
      Append(F);
    end
    else
    if clear then
      Rewrite(F)
    else
    Rewrite(F);

    if not CheckM3U then
      Writeln(F, '#EXTM3U');

    for i := 0 to FFile.Count - 1 do
    begin
      Buffer := Format('#EXTINF:%s|%s|%s|%s', [FTime.Strings[i], FTitle.Strings[i],
        FArtist.Strings[i], FAlbum.Strings[i]]);
      Writeln(F, Buffer);
      Writeln(F, FFile.Strings[i]);
    end;
    CloseFile(F);
  except
    CloseFile(F);
    Result := False;
  end;

end;
gruss
  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 19:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz