Bug oder Denkfehler?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

Bug oder Denkfehler?

Beitrag von Sunny »

Ich hab hier mal nen kleinen Code, der sagt zwar erstmal nicht wirklich viel aus aber irgendwie macht er nicht das, was er machen soll.

Code: Alles auswählen

OpenFile(0,"C:\text.txt")

  TruncateFile(0)
  
  For x=0 To 10
    WriteString(0,"x")
  Next
  
  wert$=ReadString(0)
  
CloseFile(0)

MessageRequester("",wert$)

End
1. (OpenFile) -Datei wird geöffnet
2. (TruncateFile) -Daten der Datei werden gelöscht
3. (For / WriteString / Next) -es wird 10 mal "x" in die Datei geschrieben
4. (ReadString) -Der String "wert$" erhält den Inhalt der Datei
5. (CloseFile) -Die Datei wird geschlossen
6. (MessageRequester) -Der String "wert$" wird angezeigt
7. (END) -Das Programm wird beendet

Demnach müsste der Messagerequester doch eigentlich "xxxxxxxxxx" ausgeben, tut er aber nicht. Er öffnet sich zwar aber es steht nichts drin.
Hab ich da jetzt nen Denkfehler oder haut da was beim Compilieren nicht hin?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

wenn du eine Datei öffnest und dnan den Inhalt löschst nutze gleich:
CreateFile()

Ja es wird 10 mal ein "x" reingeschrieben, aber dann ist die Lese/Schreib Position bei 10 und nach 10 kommt nix mehr, also ist die ausgabe richtig!

Um wirder zu 0 zu kommen nutze FileSeek(Datei, Position)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Wenn du einfach ReadString() schreibst liest er am Ende der Datei, also nach den 10 x, wenn da nix steht gibt er auch nix aus, du musst ein FileSeek(0,0) vorher einbauen um wieder an den Anfang der Datei zu springen...

EDIT: Arg 2 sek -.-
Zuletzt geändert von KeyKon am 10.06.2009 21:18, insgesamt 1-mal geändert.
(\/) (°,,,°) (\/)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Du liest ja da wo nichts mehr ist :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

Beitrag von Sunny »

achso, stimmt ja...
also war's doch der denkfehler.
wenn ich euch nicht hätte würde ich dumm sterben.
danke für die schnellen antworten.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Ich finds nur Lustig das nach genau 8 Minuten drei Antworten innerhalb von 13 sek. kommen :mrgreen:
(\/) (°,,,°) (\/)
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

KeyKon hat geschrieben:Ich finds nur Lustig das nach genau 8 Minuten drei Antworten innerhalb von 13 sek. kommen :mrgreen:
Hier findet's noch einer lustig :wink:
Win11 x64 | PB 6.20
Little John

Beitrag von Little John »

Andesdaf hat geschrieben:
KeyKon hat geschrieben:Ich finds nur Lustig das nach genau 8 Minuten drei Antworten innerhalb von 13 sek. kommen :mrgreen:
Hier findet's noch einer lustig :wink:
Siméon Denis Poisson lässt grüßen. ;-)
Antworten