Types drängen mich wieder mal in die Knie!
Übersicht

Mr HoppBetreff: Types drängen mich wieder mal in die Knie! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
Ich wollte ein Programm proggen, was mich an Sachen erinnert, die ich (manchmal) vergesse. Hier erst mal der Code: Code: [AUSKLAPPEN] Graphics 300,100,32,2
Type TIndex Field Erinnerung.TErinnerung End Type Type TErinnerung Field Name$ Field Datum Field Zeit Field Erinnert End Type Global Index.TIndex = New TIndex Global Benutzer$ = Input("Benutzer: ") Global Honk = LoadSound("Honk.wav") Global eintraege ;********************************************** Function Laden() Datei = OpenFile("Benutzer/"+Benutzer$+".txt") eintraege = ReadLine(Datei) For i = 1 To eintraege Index\Erinnerung.TErinnerung = New TErinnerung Index\Erinnerung\Name$ = ReadLine(Datei) Index\Erinnerung\Datum = ReadLine(Datei) Index\Erinnerung\Zeit = ReadLine(Datei) Index\Erinnerung\Erinnert = ReadLine(Datei) Next CloseFile(Datei) End Function ;*********************************************** Repeat Laden ausfuehren ;For Index\Erinnerung.TErinnerung = Each TErinnerung ;If Zeit3 >= Index\Erinnerung\Zeit And Index\Erinnerung\Erinnert = 0 Then Erinnern(Index\Erinnerung\Name$) ;Next For Index\Erinnerung.TErinnerung = Each TErinnerung Delete Index\Erinnerung.TErinnerung Next Forever ;************************************************ Function ausfuehren() Zeit$ = CurrentTime() Zeit2$ = Mid(Zeit,1,2)+Mid(Zeit,4,2) Zeit3 = Zeit2$ Datei = WriteFile("Benutzer\"+Benutzer$+".txt") WriteLine(Datei, eintraege) For Index\Erinnerung.TErinnerung = Each TErinnerung WriteLine(Datei, Index\Erinnerung\Name$) WriteLine(Datei, Index\Erinnerung\Datum) WriteLine(Datei, Index\Erinnerung\Zeit) WriteLine(Datei, 1) If Index\Erinnerung\Erinnert = 0 Then ;And Index\Erinnerung\Zeit <= Zeit3 Then Honk_k = PlaySound(Honk) Cls Text 150,50,Index\Erinnerung\Name$,1,1 Repeat Until KeyHit(57) EndIf Next CloseFile(Datei) End Function Ich weis, keine Komentare, ungeordnet ![]() ![]() In einer Datei würde folgendes stehen: Code: [AUSKLAPPEN] 2 ;Anzahl der Einträge
Vögel füttern ;Name 99999999 ;Datum (99999999 steht für jeden Tag) 920 ;Uhrzeit, wäre hier 9:20 0 ; 0 für "noch nicht erinnert", 1 für "erinnert" Zähne putzen 99999999 830 0 Das programm lief mal, allerdings mit teils sehr lustigen macken, jetz funzt irgendwie gar nichts mehr, naja, ich hoffe mir kann jemand helfen. |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
TIndex ist völlig unnötig! TErinnerung besitzt seine eigene Liste wo alle Instanzen dieses Types drin stehen.
Generell hast du irgendwie nur Scheiße programmiert ?oder - hat jedenfalls keinen logischen Zusammenhang. Also, mache dir eine Funktion z. B. "NeueErinnerung" wo der Benutzer aufgefordert wird, Name, Datum und Zeit einzugeben. Dann wird eine neue Instanz mit New erstellt. Dieser Instanz weißt du halt diese Eingaben zu. Die Funktion "UpdateErinnerungen" geht alle Instanzen der Liste durch, und prüft, ob Datum und Zeit größer oder gleich aktuelles Datum + Zeit ist. Wenn ja, wird dies ausgegeben durch den Sound, und die Instanz kann mit Delete aus der Liste entfernt werden. Am Anfang sollte eine Funktion "LadeErinnerungen" aufgerufen werden, die alle Erinnerungen aus der Datei lädt. Dabei liest du sie solange aus, bis das Dateieinde erreicht ist. Am Ende des Programs überschreibst du diese Datei mit der Funktion "SpeichereErinnerungen". Dabei speicherst du halt alle Instanzen in der Liste in diese Datei. "UpdateErinnerungen" muss dann natürlich immer in der Hauptschleife aufgerufen werden. mfg olli |
||
vertex.dreamfall.at | GitHub |
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sorry, aber ich wollte wissen, warum das nicht funzt, und nicht, was an dem Code falsch ist. Ich habe doch extra geschrieben, das das nur ein experimentier-code ist, glaubst du, da mach ich mir die Mühe eine Editir-Funktion zu erstellen? Man, man, man.... ![]() PS: Ich hab ja nichts gegen Kritik, aber wenn diese sowas von falsch angebracht ist, naja.... |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
was ich auf jeden fall sagen kann :
das eintraege = readline(file) kannst du kkicken - stattdessen : BlitzBasic: [AUSKLAPPEN]
|
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group