Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Parsen und abspeichern (https://www.delphipraxis.net/159646-parsen-und-abspeichern.html)

EWeiss 6. Apr 2011 19:18

Parsen und abspeichern
 
Sorry noch eine Frage

Ich möchte meine Musikstücke abspeichern
Dazu muss ich die Oberfläsche meine grids nach Noten durchsuchen und diese
dann in eine Zeile schreiben. (Kein Problem)..

Habe aber noch nicht viel mit Text unter Delphi gemacht (InI) ausgenommen.
In VB würde ich das über Print verwirklichen.

gibt es etwas ähnliches in Delphi oder ist es einfacher
das mit einer TStringliste zu verwirklichen wenn es denn geht.

Delphi-Quellcode:
FF = FreeFile
Open FilePath For Output As #FF
Print #FF, Left(Temp, Len(Temp) - 1);
usw..
So was gibt es oder Ähnlich?

EIDT:
Zitat:

das mit einer TStringliste zu verwirklichen wenn es denn geht.

Ist ja eigentlich quatsch
Würde in dem Fall ja dann alles doppelt machen.
gruss

Bummi 6. Apr 2011 19:30

AW: Parsen und abspeichern
 
Clientdataset >> XML?

EWeiss 6. Apr 2011 19:41

AW: Parsen und abspeichern
 
Zitat:

Zitat von Bummi (Beitrag 1093481)
Clientdataset >> XML?

Jo vergessen ...
Einfache TextDatei.

gruss

EWeiss 6. Apr 2011 21:10

AW: Parsen und abspeichern
 
Habe es jetzt mal so gemacht.

Delphi-Quellcode:
procedure TMidiTracker.SaveFile;
var
 IntA:  Integer;
 IntB:  Integer;
 Temp:  String;
 f:     Textfile;
 myFile: string;

begin

  myFile := SKAERO_SaveFileDialog(MainHandle, 'MidiTracker files (*.mtf*)|*.mtf*', 'mtf', 'MediTrackerFile');
  AssignFile(f, myFile);

  for IntA := 0 to 7 do
  begin
    TrackLength := 0;

    for IntB := 1000 downto 0 do
    begin
      if Grid[IntA, IntB] > -1 then
      begin
        TrackLength := IntB;
        break;
      end;
    end;

    Temp := '';
    for IntB := 0 to TrackLength do
      Temp := Temp + IntToStr(Grid[IntA, IntB]) + ',';

    Writeln(f, LeftStr(Temp, Length(Temp) - 1)); // <<<<< Error EInOutError I/O Error 103

    Temp := '';
    for IntB := 0 to TrackLength do
      Temp := Temp + IntToStr(InstGrid[IntA, IntB]) + ',';

    Writeln(f, LeftStr(Temp, Length(Temp) - 1));
  end;

  Writeln(f, IntToStr(Tempo));

  Temp := '';
  for IntA := 0 to 7 do
    Temp := Temp + IntToStr(CurrentInst[IntA]) + ',';

  Writeln(f, LeftStr(Temp, Length(Temp) - 1));

  Closefile(f);

end;
Bekomme aber beim ersten zugriff einen EInOutError I/O Error 103.

Funktioniert das mit SaveDialog nicht?

gruss

daywalker9 6. Apr 2011 21:21

AW: Parsen und abspeichern
 
Delphi-Quellcode:
AssignFile(f,..);
Rewrite(f);

EWeiss 6. Apr 2011 21:23

AW: Parsen und abspeichern
 
Zitat:

Zitat von daywalker9 (Beitrag 1093523)
Delphi-Quellcode:
AssignFile(f,..);
Rewrite(f);

Das ist alles ?
Hab die Zeile vergessen..

gruss

daywalker9 6. Apr 2011 21:28

AW: Parsen und abspeichern
 
Zitat:

Zitat von EWeiss (Beitrag 1093524)
Zitat:

Zitat von daywalker9 (Beitrag 1093523)
Delphi-Quellcode:
AssignFile(f,..);
Rewrite(f);

Das ist alles ?
Hab die Zeile vergessen..

gruss

Ja, Rewrite wenn Du neuschreiben willst, und
Delphi-Quellcode:
Append(f)
wenn du anfügen willst

EWeiss 6. Apr 2011 21:35

AW: Parsen und abspeichern
 
Danke hab das wohl in der Beschreibung übersehen.
Funktioniert prächtig kann also nun einen Neue Version
vom Piano hochladen..

gruss


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