;Primzahlen OK.l = MessageRequester("Frage", "Wollen sie die Primzahlen in einer Datei speichern?", %100011) Select OK Case 6 File.l = #True Datei.s = OpenFileRequester("Speichern/Weiterführen", "", "Alle Dateien (*.*)|*.*", 0) If FileSize(Datei) = -1 Modus.l = 0 Else OK.l = MessageRequester("Frage", "Wollen sie die Primzahl-Datei weiterführen?", %100100) If OK = 6 Modus.l = 1 Else Modus.l = 0 EndIf EndIf Case 7 File.l = #False Case 2 End EndSelect #Breite = 200 #Hoehe = 300 If OpenWindow(0, (GetSystemMetrics_(#SM_CXSCREEN) - #Breite) / 2, (GetSystemMetrics_(#SM_CYSCREEN) - #Hoehe) / 2, #Breite, #Hoehe, #PB_Window_SystemMenu, "Primzahlen") = #False End EndIf If CreateGadgetList(WindowID()) ListViewGadget(0, 0, 0, #Breite, #Hoehe) Else End EndIf If File If Modus = 0 CreateFile(0, Datei) WriteLong(0) WriteStringN("") Tmp = 0 Else OpenFile(0, Datei) Tmp = ReadLong() FileSeek(Lof()) EndIf EndIf NewList PrimZahl.l() AddElement(PrimZahl()) PrimZahl() = 2 AddGadgetItem(0, -1, Str(2)) AddElement(PrimZahl()) PrimZahl() = 3 AddGadgetItem(0, -1, Str(3)) If Modus = 1 Gosub Methode1 Else Gosub Methode2 EndIf If File FileSeek(0) WriteLong(Tmp) CloseFile(0) EndIf End Methode1: Divisor = 1 TmpStop = 1 OK = 1 Tmp | 1 Repeat If Tmp - Tmp / Divisor * Divisor = 0 : OK = 0 : EndIf If OK = 0 Tmp + 2 TmpStop = Sqr(Tmp) Divisor = 1 OK = 1 ElseIf Divisor = TmpStop | 1 AddElement(Primzahl()) Primzahl() = Tmp AddGadgetItem(0, -1, Str(Tmp)) WriteStringN(Str(Tmp)) Divisor = 1 Tmp + 2 TmpStop = Sqr(Tmp) EndIf Divisor + 2 Until WindowEvent() = #wm_close Return Methode2: Tmp | 1 Divisor = 1 TmpStop = 1 OK = 1 Repeat If Tmp - Tmp / Divisor * Divisor = 0 : OK = 0 : EndIf If OK = 0 Tmp + 2 TmpStop = Sqr(Tmp) ResetList(Primzahl()) OK = 1 ElseIf Divisor >= TmpStop | 1 LastElement(Primzahl()) AddElement(Primzahl()) Primzahl() = Tmp AddGadgetItem(0, -1, Str(Tmp)) ResetList(Primzahl()) WriteStringN(Str(Tmp)) Tmp + 2 TmpStop = Sqr(Tmp) EndIf NextElement(Primzahl()) Divisor = Primzahl() Until WindowEvent() = #wm_close Return ; ExecutableFormat=Windows ; Executable=C:\Programme\PureBasic\Programme\Primzahlen.exe ; DisableDebugger ; EOF