Doc öffnen, die 2te

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

AMY

Betreff: Doc öffnen, die 2te

BeitragSa, Aug 19, 2006 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
So jetzt habe ich mal den Code etwas an das modernere angepasst und auch ein paar Kommentare dazugeschrieben, falls es immer noch zu unübersichtlich oder zu wenig dokumentiert ist, dann kommt dieser Thread nicht noch einmal, denn ich kann es nicht besser erklären. Na dann wolln wir mal:

Code: [AUSKLAPPEN]

;Word Document Viewer by AMY (AMYsCBI)

commandliner$=CommandLine();Dateiname aus der Commandline holen
Global Versionsnummer$="1.0"

Repeat;Check ob Anführungszeichen davor, für Multidatei auswahl möglich, siehe MultiFiles by AMY
Last34=C34+1
C34=Instr(Commandliner$,Chr(34),Last34)
If C34>0 Then Count34=count34+1
Until C34=0
If Count34=2 Then Commandliner1$=Mid$(Commandliner$,2,Len(commandliner)-2) Else Commandliner1$=Commandliner
If Count34<2 Then Commandliner1=Commandliner

Graphics 640,480,32,2
AppTitle "AMYs Word Document Viewer - "+Commandliner1

ViewDoc(commandliner1,Versionsnummer); Anzeige der DOC

Function ViewDoc$(path$,vnr$)
file=OpenFile(path)
SeekFile(file,2560);zum Anfang des Textes gehen
Repeat
FlushKeys:FlushMouse
Cls
rown=10;Setze Y-Koordinate auf 10

   Repeat;Beginn der 1ten Schleife die für die Textanzeige und der Zeilenvorschub zuständig ist
      Repeat;Beginn der 2ten Schleife in der der Text eingelesen wird
         If NextRow>0 Then Nextrow=Nextrow-1:Exit;Prüfung des Zeilenvorschubes
         a=ReadByte(file)
         b=ReadByte(file)
         If a=0 Or b=0 Then EndOfDOC=1:Exit;Prüfung ob Ende des Textes
         If b=0 Then Texter$=Texter+Chr$(a):Exit;Prüfung ob Ende des Textes
            If a=13 And b=13 Then ;Prüfung ob nächste Zeile
               check=ReadByte(file)
               If check=13 Then ;Prüfung ob mehrere freizeilen
                  Nextrow=2
                  Exit
               Else;Damit das erste Zeichen in der nächsten Zeile erscheint, und Zeilenvorschub
                  SeekFile file,FilePos(file)-1
                  Nextrow=1
                  Exit
               End If
            ElseIf b=13 Then;Prüfung ob nächste Zeile, fügt am Ende der Zeile noch den letzten Buchstaben an
               Texter$=Texter+Chr$(a)
               Exit
            ElseIf a=13 Then
               SeekFile file,FilePos(file)-1;Damit das erste Zeichen in der nächsten Zeile erscheint
               Exit
            End If
         Texter$=Texter+Chr$(a)+Chr$(b);Buchstaben zur Textzeile hinzufügen
         If Nextrow>0 Then Noxtrow=Nextrow-1:Exit;Prüfung des Zeielnvorschubes
         If Len(Texter)>444 Then Exit;Prüfung des Zeilenvorschubes durch das 444 Zeichen ;max 444Zeichen pro Zeile
      Forever
      Text 10,rown,Texter;Textzeile anzeigen
      Texter="";Textzeile löschen
      rown=rown+14;Zeilenvorschub um 14 Pixel pro Zeile
   Until EndOfDOC=1 Or Rown/14=30;Beenden der 2ten Schleife wenn Ende der Doc-Datei ist oder wenn 30 zeilen erreicht sind

If EndOfDOC=1 Then Text 320,470,"End of DOC - Please press a key to end this Program",1,1 Else Text 320,470,"Please press a key to go on",1,1
WaitKey
If EndOfDOC=1 Then Exit
Until Eof(file)

Cls
Text 320,240,"Thanks for Using AMYs Media Center.",1,1
Delay(1500)
End
End Function
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!

Schranz0r

BeitragSa, Aug 19, 2006 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
in Blitz3d gehts nicht.

Memory access violation

Rolling Eyes

AMY

BeitragSa, Aug 19, 2006 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry, hab gerade kein bb hier, wo liegt denn der fehler?
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!

Schranz0r

BeitragSa, Aug 19, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab keine ahnung Confused

StepTiger

BeitragSa, Aug 19, 2006 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du auch die command line rein gemacht? musst schon eine datei angeben ^^

bei mir gehts

ist ganz nett, aber hat noch so einige Formfehler
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
  • Zuletzt bearbeitet von StepTiger am Sa, Aug 19, 2006 21:47, insgesamt einmal bearbeitet

Schranz0r

BeitragSa, Aug 19, 2006 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed ohhhhh... Very Happy
OK ich nehms zurück Confused

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group