Templates by BIGtheme NET
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA:

Datei lesen 28 Dez 2021 15:47 #7

  • Grisu
  • Offline
  • Beiträge: 75
  • Dank erhalten: 95
Hallo,
das kann wohl nur Stefan beantworten.
Ich habe gerade noch etwas experimentiert (solange die Lizenz noch läuft):
Die komplette Datei kannst du auch mit "Datei lesen" einlesen (scheint neu in cx5 zu sein).
Einfach in "Anzahl Zeilen" -1 eingeben ergibt den gleichen Effekt.  - es gibt noch viel zu entdecken...

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


 (17 Zeilen, cX 5.0.8.5)
Gruß,
Hermann
Folgende Benutzer bedankten sich: daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datei lesen 29 Dez 2021 12:38 #8

  • AbsoluteFosback3
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 209
  • Dank erhalten: 117
Hi

Datei lesen, normaler Dateiname, Anzahl Zeilen -1, Ergebnis: Das Pgm liest tatsächlich alles ein. In der Doku steht allerdings -1 in "Anzahl Bytes" eintragen und liest dann die Datei bis zu Ende. Und "Anzahl Bytes" heißt für mich "Anzahl Zeichen" und dann liest das Pgm nur eine Zeile.
Was soll dann aber die Angabe in der Doku [Datei.Inhalt$] ??
Habe das mal in einem Desktop-Ordner ausprobiert, hatte aber das gleiche Ergebnis mit Objekt nicht gefunden, nur stand jetzt der komplette Pfad im Fehlertext. Also ich denke durch das $-Zeichen denkt das Pgm der Inhalt der Datei ist der Dateiname einer anderen Datei und sucht sie natürlich vergeblich, andererseits kommt ja wenn man das $-Zeichen weglässt die gleiche Fehlermeldung. (think)

Fosback
Folgende Benutzer bedankten sich: daywalker

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datei lesen 29 Dez 2021 13:03 #9

  • Stefan
  • Stefans Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1139
  • Dank erhalten: 1677
Hallo, Fosback!

Danke für den Hinweis auf "Anzahl Bytes"=-1 - das war tatsächlich so nicht implementiert - werde ich nochmal überarbeiten. Bei Textdateien ist das "Anzahl Zeilen"=-1 die Lösung, bei binären Dateien ist das schon etwas anders (s.u.).

Die Fehlermeldung "Objekt nicht gefunden" kommt vermutlich, weil du da das cX. vergessen hast, also [cX.Datei.Inhalt$] statt [Datei.Inhalt] - kann das sein? Das Objekt "Datei" gibt es ja nicht (wenn es nicht selbst als eigenes Objekt implementiert ist)...

Noch etwas zu cX.Datei.Inhalt: Wird keine Codierung angegeben (z.B. [cX.Datei.Inhalt(1)]), wird versucht, die Datei als nocrmaler Text einzulesen. Ist die Datei binär und enthält Sonderzeichen (etwa ein 0-Byte), funktioniert das Einlesen nicht richtig: kein Text. Dieses Codierungsthema zieht sich duch das ganze Windows (und damit auch cX) und lässt sich leider nicht einfach umgehen...
Ergänze ich aber noch in der Doku!

Um richtige Binärdateien einzulesen (was immer mit den eingelesenen Daten passieren soll), sollte besser der "Datei lesen" (mit Anzahl Bytes = Dateilänge) oder etwa der cX.Bytes -Platzhalterbereich verwendet werden. Binärdaten sind immer so eine Sache - da muss man genau wissen, was man eigentlich vorhat und welches Werkzeug in cX am Besten dazu passt...
cX ist halt schon immer eher Textorientiert, so dass solche Dateioperationen im Normalfall von Textdateien ausgehen.

Liebe Grüße
Stefan
Folgende Benutzer bedankten sich: Soko, daywalker, MiB

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datei lesen 30 Dez 2021 05:57 #10

  • AbsoluteFosback3
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 209
  • Dank erhalten: 117
Moin Stefan

Soso ich habe etwas "vergessen". Möchte gerne wissen was ich vergessen habe, denn ich habe garantiert auch irgendetwas mit cX ausprobiert, weiß aber nicht mehr was bzw wie, denn in der Doku steht halt nunmal nicht mehr als "Datei.Inhalt$", das ist zu wenig finde ich. Jetzt probiere ich es nochmal und phantasiere zur Deko-Angabe etwas dazu. Wie wäre es mit:
[cX.Datei(Dateiname).Inhalt$] ins Feld von Datei lesen/Dateiname.
Das Ergebnis hatte ich noch nicht, muss also doch etwas "vergessen" haben, aber es funktioniert nicht, denn als Ergebnis kommt das was ich eh schon die Vermutung hegte: "Laufzeitfehler Die Datei "hier steht der vollständige Inhalt der einzuladenden Datei" konnte nicht gefunden werden"
Das Pgm betrachtet den Inhalt der Datei als Dateinamen und findet sie nicht. Die Datei ist übrigens eine Textdatei mit mehreren Zeilen.

Fosback

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von AbsoluteFosback3.
  • Seite:
  • 1
  • 2

Community

Sie sind noch nicht Mitglied unserer Community? Melden Sie sich jetzt an!

Anmelden