AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Textdatei ohne Trennzeichen verarbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei ohne Trennzeichen verarbeiten

Ein Thema von Bali · begonnen am 10. Feb 2009 · letzter Beitrag vom 10. Feb 2009
Antwort Antwort
Seite 3 von 3     123   
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#21

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 11:19
Hallo,
eine nette Variante, Urpascal und gut wartbar, da die Definition im Record steckt:
Delphi-Quellcode:
type
  TAdresse = record case boolean of
               false : (DataString : string [maxdatalength]);
               true: (KNummer : array [1..5] of char;
                        Kname : array [1..18] of char;
                        KStrasse : array [1..13]) of char);
             end;

var
  f : Textfile;
  Adresse : TAdresse;
  Kundennummer : string;
begin
  While not(eof(f)) do
    begin
      readln(f,Adresse.DataString);
      Kundennummer := StrPLCopy (Adresse.KNummer,High(Adresse.KNummer));
          {...}
    end;
end;
Setztz voraus, dass keine NUL-Char in der Zeile, wäre auch seltsam.

Gruss Reinhard
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#22

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 11:24
Zitat von Reinhard Kern:
Hallo,
eine nette Variante, Urpascal und gut wartbar, da die Definition im Record steckt:
Delphi-Quellcode:
type
  TAdresse = record case boolean of
               false : (DataString : string [maxdatalength]);
               true: (KNummer : array [1..5] of char;
                        Kname : array [1..18] of char;
                        KStrasse : array [1..13]) of char);
             end;

var
  f : Textfile;
  Adresse : TAdresse;
  Kundennummer : string;
begin
  While not(eof(f)) do
    begin
      readln(f,Adresse.DataString);
      Kundennummer := StrPLCopy (Adresse.KNummer,High(Adresse.KNummer));
          {...}
    end;
end;
Setztz voraus, dass keine NUL-Char in der Zeile, wäre auch seltsam.

Gruss Reinhard
StrPLCopy gab es schon im Ur-Pascal???
Kann mich nicht erinnern ...
ganz abgesehen, dass
StrPLCopy (Adresse.KNummer,High(Adresse.KNummer)); schon ein bisschen kryptisch ist, oder?
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#23

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 12:30
Zitat von globetrotter77:
StrPLCopy gab es schon im Ur-Pascal???
Kann mich nicht erinnern ... :gruebel:
ganz abgesehen, dass
StrPLCopy (Adresse.KNummer,High(Adresse.KNummer)); schon ein bisschen kryptisch ist, oder?
Hi,

StrIrgendwas ist ja kein Sprachbestandteil, sondern eine Library-Funktion, die man sich bei Bedarf in ein paar Minuten selbst zusammentippen kann, angenehm aber nicht notwendig. Auch wenn sich das mancher Neuprogrammierer nicht mehr vorstellen kann, es gab grosse und professionell strukturierte Software auch schon vor VCL und MFC.

Aber darum gings garnicht, ich finde nur dass die Möglichkeit von record case zu Unrecht völlig in Vergessenheit geraten ist. Ich habe das schon vor Jahrzehnten zur Umwandlung von z.B. Realzahlen in 4 Bytes usw. benutzt, es gibt ja nicht für alle Fälle vorgefertigte Funktionen wie Hi oder Lo, wenn überhaupt (etwa in Z80-Pascal selig). Jeder benutzt halt, was er kennt, und case records gehören wohl nicht mehr dazu.

Und wenn du was WIRKLICH kryptisches sehen willst, musst du C++ verwenden. Der von mir gewählte Zugriff hat jedenfalls den Vorteil, dass man dazu die einzelnen Stringlängen nicht mehr im Kopf oder sonstwo haben muss und entsprechende Änderungen nur an einer Stelle notwendig sind. Dass das für die Wartung seine Vorteile hat, ist inzwischen auch in Vergessenheit geraten. Fast alle Vorschläge hier stecken die Definition in Trim oder Copy Funktionen mitten im Programm (und in der Praxis dann noch an mehreren Stellen, z.B. zum Lesen und Schreiben).

Gruss Reinhard
  Mit Zitat antworten Zitat
globetrotter77

Registriert seit: 16. Jan 2009
Ort: Nürnberg
236 Beiträge
 
Delphi 10.3 Rio
 
#24

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 12:42
Zitat von Reinhard Kern:
Und wenn du was WIRKLICH kryptisches sehen willst, musst du C++ verwenden.
Da muss ich dir natürlich recht geben!
Zitat:
Der von mir gewählte Zugriff hat jedenfalls den Vorteil, dass man dazu die einzelnen Stringlängen nicht mehr im Kopf oder sonstwo haben muss und entsprechende Änderungen nur an einer Stelle notwendig sind. Dass das für die Wartung seine Vorteile hat, ist inzwischen auch in Vergessenheit geraten.
Allerdings! Leider!


PS: zum Thema kryptisch kann ich Brainfuck empfehlen, hier ein Sourcecode-Auszug in strukturierter Form:
Delphi-Quellcode:
    [-<<<<<<<<<<<+>>>>>>>>>>>]
      >>>[>>>>>>>[-<<<<<<<<<<<+++++>>>>>>>>>>>]>>>]<<<<<<<<<<
    [+>>>>>>>>[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
              [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
              [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
              [-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
              [-<<<<<<<<+>>>>>>>>]]]]]]]]]<<<<<<<<
              [->>>>>>>>+<<<<<<<<]-<<<<<<<<<<]
    >>>>>>>>[-<<<<<<<<<<<<<+>>>>>>>>>>>>>]>>
    [>>>>>>>>[-<<<<<<<<<<<<<+++++>>>>>>>>>>>>>]>>]<<<<<<<<<<
    [<<<<<<<<<<]>>>>>>>>>>
    >>>>>>
  Mit Zitat antworten Zitat
Bali

Registriert seit: 10. Feb 2009
23 Beiträge
 
Delphi 2005 Professional
 
#25

Re: Textdatei ohne Trennzeichen verarbeiten

  Alt 10. Feb 2009, 14:18
Hurra !

Hab zwar noch ein paar Probleme mit Integer und String Werten aus dem TextFile, aber das bekomme ich schon hin

Recht herzlichsten Dank euch allen !!!

MfG

Bali
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 18:18 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