Open .3ds > WriteLine (Beliebige Dateien kopieren)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

NightPhoenix

Betreff: Open .3ds > WriteLine (Beliebige Dateien kopieren)

BeitragMi, März 05, 2008 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo allerseits Smile
Ich wollte ein Programm schreiben was Massen von Dateien umbenennt und nummeriert. Windows kann das zwar auch doch kommen dabei immer nur zahlen in Klammern dabei heraus... also "Dat" wird zu "Dat(1)" Ich brauche die Nummern aber direkt hinter dem Namen Wink
Das hab ich mir zu nutze gemacht und meine 500 Dateien alle in "Fel" umbenannt. Windows hat brav allen eine Nummer in Klammern von 1 bis 500 zugeordnet.
Also dachte ich mir, Lines auslesen, in gewünschte Datei neuschreiben, fertig.

Code dazu:


Code: [AUSKLAPPEN]
Anzahl=500


For i=1 To Anzahl
   
   file1=OpenFile("Fel ("+i+").3ds")
   file2=WriteFile("Fel"+i+".3ds")
   If file1=0 Then RuntimeError("Invalid File Path")
   
   While Not Eof(File1)
   Cls
      Lines$=ReadLine(file1)
      WriteLine file2,lines$
   Wend
   
   CloseFile(file1)
   CloseFile(file2)
Next


Funktioniert alles super, nur leider lassen sich meine .3ds danach nicht mehr öffnen. Hab nachgeschaut und musste feststellen, dass Blitz anscheinend einige Zeilen die unbekannte Zeichen bzw. leere Felder (Leerzeichen) enthalten nicht neu geschrieben werden...
außerdem werden einige Zeilen mit Zeichen dieser Sorte:
Code: [AUSKLAPPEN]


  
    
                         
  
           
               
  
  
    
  
          
  

manchmal nicht neugeschrieben sondern übersprungen


Kann "String" nicht alle Zeichen auslesen?
MfG.

Xenon

BeitragMi, März 05, 2008 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir für dein Problem mal das an: http://blitzbase.de/befehle2d/copyfile.htm

Also die Datei kopieren und dann die alte löschen, geht weitaus einfacher, als einzulesen und neu zu schreiben.

Warum das mit ReadLine nicht hinhaut liegt daran, dass Bytes mit wert <32 gesondert behandelt werden und es somit zu Änderungen kommt, so passiert das gleiche, wie wenn du eine binäre Datei mit notepad öffnest und wieder speicherst. Um Binärdaten also zu kopieren solltest du ReadByte und WriteByte statt ReadLine und WriteLine verwenden, ist außerdem auch performanter!

http://blitzbase.de/befehle2d/readbyte.htm
http://blitzbase.de/befehle2d/writebyte.htm

Mfg,
Xenon

NightPhoenix

BeitragMi, März 05, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Na super... wusste garnicht dass es so einen Befehl gibt. Danke! Wink
Klingt logisch was du da schreibst. Die Byte Befehle schau ich mir mal an!
Danke!
Nightphoenix

Hip Teen

BeitragMi, März 05, 2008 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
oO Also so gehts einfacher
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group