LoadImage+Log

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

Chenkov

Gast

Betreff: LoadImage+Log

BeitragMi, Dez 31, 2003 21:56
Antworten mit Zitat
4 Kleine Funktionen ob die in der Form schon irgendwo vorgekommen sind weiß ich nicht bzw hab nichts ähnliches gefunden.
Dürfen gerne von jedem erweiterd und verbesset werden.

BlitzBasic: [AUSKLAPPEN]
;----------Fehlerbehandlung-----------------
; SchowLog()
; Logdata(Errortext$)
;----------LoadImage erweiterung------------
; LoadPicture(Name$,r=255,g=0,b=255)
; Function LoadAnimPicture(Name$,breit,hoch,Start,Frames,r=255,g=0,b=255)

Global Logname$=\"log.dat\" ;Wie die Logdatei heißen soll.



;Zeigt die Logdaten an
Function ShowLog()
Debug = ReadFile(Logname$)
If Debug = 0 Then ;Wenn Debug 0 ist einen Fehler erzeugen
Logdata(\"Fehler beim öffnen der Log Datei\")
showlog() ;Eben Erzeugten Fehler anzeigen
EndIf

If Debug <> 0 Then
While Not Eof(Debug) ;String für String auslesen bis das ende erreicht ist
Print ReadString$ (Debug)
Wend
EndIf
Return 0
End Function



;Funktion um etwas in die Log datei zu schreiben

Function Logdata(Errortext$=\"Fehlertext vergessen\")

Debug = OpenFile(Logname$) ;Debug = die Logdatei
If Debug <> 0 Then ;Wen Debug ungleich 0 ist (Existiert)
gross = FileSize(Logname$) ;größe ermitteln mit FileSize
SeekFile Debug,gross ;Schreibposition festlegen
Else ;Debug = 0
Debug = WriteFile(Logname$) ;mit WriteFile neue Datei erzeugen
End If

;Entstandenen Fehler ausgeben
;CurrentDate: Liefert das aktuelle Datum
;CurrentTime: Die Zeit

WriteString Debug,\"Am :\"+CurrentDate$()+CurrentTime$()+\" trat folgender Fehler auf \"+Errortext$
CloseFile Debug ;Schließen der Debug Datei
Return 0
End Function
;Ende der Funktion für die Logdatei




;Funktion um Bilder einzulesen
;Verbesserungen gegenüber LoadImage wie folgend
;Wen das Bild nicht gefunden wird wird ein Bild mit Fehlertext erzeugt
;Es wird der Fehler in eine Logdatei geschrieben
Function LoadPicture(Name$,r=255,g=0,b=255)

Bild = LoadImage(Name$)

If Bild = 0 Then ;Wen der rückgabewert 0 ist, also kein Bild vorhanden ist
ErrorBild = CreateImage(200,50) ;ErrorBild = Neues Bild
SetBuffer ImageBuffer(ErrorBild)
ClsColor 255,0,0
Cls
Color 0,0,0
Text 10,10,\"Error bei\" ;Fehler
Text 10,20,name$ ;Bildname
ClsColor 0,0,0
SetBuffer BackBuffer()
errortype$ = \"Ladefehler bei \"+name$ ;Ausgabe des fehler in die Logdatei
Logdata(errortype$) ;Übergabe des Fehlers an Logdata
Bild = ErrorBild ;Bild = FehlerBild
EndIf
MaskImage Bild,r,g,b ;MaskImage mit Standart
Return Bild ;Rückgabe der Bild ID
End Function
;Ende der Funktion


;Funktion um Animierte Bilder zu laden
;Name$ zB. \"Schuss.bmp\" Breite Höhe Startframe Frameanzahl Frabwerte für Maskimage
Function LoadAnimPicture(Name$,breit,hoch,Start,Frames,r=255,g=0,b=255)

Bild = LoadAnimImage(Name$,breit,hoch,Start,Frames)

If Bild = 0 Then ;Wen der rückgabewert 0 ist, also kein Bild vorhanden ist
ErrorBild = CreateImage(breit,hoch,Frames) ;ErrorBild = Neues Bild

For i = Start To Frames-1
SetBuffer ImageBuffer(ErrorBild,i)
ClsColor (255/Frames)*i,0,0
Cls
Next

ClsColor 0,0,0
SetBuffer BackBuffer()
errortype$ = \"Ladefehler bei \"+name$ ;Ausgabe des fehler in die Logdatei
Logdata(errortype$) ;Übergabe des Fehlers an Logdata
Bild = ErrorBild ;Bild = FehlerBild
EndIf


MaskImage Bild,r,g,b
Return Bild ;Rückgabe der Bild ID

End Function
;Müsste so in etwa laufen oder auch nicht

Kryan

BeitragFr, Jan 02, 2004 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soll dieses showLog()
nach Logdata("Fehler beim öffnen der Log Datei")
Dabei entsteht doch eine Rekursion die nicht mehr aufhört!!!
 

furbolg

BeitragFr, Jan 02, 2004 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch die hört auf, der Stack ist nur begrentzt Very Happy
 

Chenkov

Gast

BeitragSa, Jan 03, 2004 8:36
Antworten mit Zitat
ShowLog() Zeigt nur die Logdatei an wen man es nicht mit dem Editor aufmachen möchte.

Hört eigentlich schon vorher auf da beim 2ten aufruf ja die Logdatei schon vorhanden ist.
Ist nur für den fall das SchowLog() aufgerufen wird wen noch nie zuvor ein Fehler aufgetreten ist.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group