AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Problem mit writeln (Text erstellen)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit writeln (Text erstellen)

Ein Thema von Boyington · begonnen am 22. Jun 2012 · letzter Beitrag vom 25. Jun 2012
Antwort Antwort
Benutzerbild von Boyington
Boyington

Registriert seit: 12. Apr 2012
43 Beiträge
 
#1

Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 13:15
Hallo Zusammen,
ich möchte in Delphi eine Text-Datei erstellen und die Abstände und zugehörige x, y Koordinaten sind drin, Format wie folgendes (nur Beispiel-->x, y: integer; MiniAbstand:real; x:0-9, y:0-19, also 10x20), ABER erste Zeile ("x y Abstand") wird in dieser Textdatei NICHT angezeigt

x y Abstand
0 19 1.435
1 19 2.312
2 19 1.112
3 19 5.123
.. .. ...
8 19 1.231
9 19 3.123
0 18 2.123
1 18 6.123
2 18 2.345
3 18 1.234
.. .. ...
8 18 3.112
9 18 4.567
0 17 2.567
1 17 2.111
2 17 6.123
.. .. ...
9 17 7.123
0 16 2.678
1 16 3.345
2 16 3.890
.. .. ...
.. .. ...
0 5 7.001
1 5 2.567
2 5 3.345
.. .. ...
9 5 1.113
0 4 2.123
1 4 3.321
.. .. ...
0 0 2.234
1 0 1.567
2 0 5.132
.. .. ...
7 0 7.123
8 0 1.127
9 0 2.980

Hier sind die Code
Delphi-Quellcode:
Type
 TAbstand = record
 Nr: integer;
 Abs: real;
 end;
.
.
.
var
 Abstaende: array of array of TAbstand;
.
.
.
procedure TForm1.Button4Click(Sender: TObject);
var
 MiniAbstand:real;
 Nummer:integer;
 i, j:integer;
 F:Textfile;
begin
  AssignFile(F, 'List_Abstand.txt');
 
 for i:=0 to 19 do
  begin
    for j:=0 to 9 do
    begin
     Nummer:=Abstand(MiniAbstand,Dreiecke);
     Abstaende[i,j].Nr:=Nummer;
     
      if Nummer > 0 then
        Abstaende[i,j].Abs:=MiniAbstand
      else
        Abstaende[i,j].Abs:=1000;

      Writeln(F,j,' ',19-i,' ',Abstaende[i,j].Abs);

    end;
  end;
end;
:
Funktion 'Abstand' ist von mir selbst geschrieben, hier j entspricht x in Textdatei, und i entspricht y.

Compile ist ganz in Ordnung, ohne Fehlermeldung, ab wenn ich das Programm durchführte, bekommen ich "I/O Error 103", wo kann der Fehler liegen?

Vielen Dank!

Gruss
Lee
Do the best job, leave the rest in the hands of God!

Geändert von Boyington (22. Jun 2012 um 13:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.910 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 13:26
Du öffnest die Datei nirgends, du verbindest deine Variable F nur mit dem Dateinamen. Und wo du die erste Zeile schreiben willst, sehe ich auch nirgends.

Siehe Doku:
http://docwiki.embarcadero.com/Libra...tem.AssignFile
Oder andere Seiten:
http://www.delphibasics.co.uk/RTL.asp?Name=AssignFile
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#3

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 13:34
Mit einer Stringliste ginge das einfacher.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 14:18
Wenn ich Jaenicke noch etwas ergänzen dürfte,
das CloseFile(f) fehlt ebenfalls.
Ist (war) beliebte Fehlerursache für zu kurze Textdateien.

@DeddyH
Er will eben alle Funktionalitäten erlernen.
Und für Log-Files gibt es meiner Meinung nach nichts besseres als
Assignfile,append,writeln,closefile
(ja das ist wohl kein Logfile, aber es hat zusehr gejuckt)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#5

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 14:55
Und für Log-Files gibt es meiner Meinung nach nichts besseres als
Assignfile,append,writeln,closefile
Dem würde ich nicht zustimmen.

"nichts Einfacheres" würde stimmen, abgesehn von speziell dafür erstellen Klassen/Bibliotheken, also rein auf die "einfachen"/direkten Dateizugriffsfunktionen bezogen.

"Besseres" gibt es alle Male, vom Caching her sind Streams besser und von der Funktionalität die spezialisierten Klassen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Problem mit writeln (Text erstellen)

  Alt 22. Jun 2012, 15:20
Wird zwar etwas OT aber warum
Zitat:
vom Caching her sind Streams besser
.
a) ich müßte bei Strings noch das CRLF hinterher schieben?
b) sogar ohne settextbuf geht es (unter windows)ganz gut.

Liege ich da so falsch?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 05:39 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