Seite 2 von 4

Verfasst: 06.07.2005 20:40
von Batze
Ich glaube es bringt leider auch kaum etwas wenn wir dir die Lösung vorgeben. :(
Lies erstmal ein par Tutorials und versuch sie zu verstehen, bevor du dich an ein Projekt wagst.
Zumindest solltest du dir die Beispieldateien in der Hilfe ansehen und zu verstehen versuchen.

Verfasst: 06.07.2005 20:44
von R4z0r1989
die Beisspiele hab ich mir schon angesehen.
und gibt es irgendwo ein Tutorial mit open und save.

Wenn ja Danke.

Verfasst: 06.07.2005 20:52
von Batze
(kennst du das: ? -> Das nennt sich "Fragezeichen" :lol: )

Ja gibt es:
1. Starte PureBasic.
2. Öffne die Hilfe.
3. Wähle File.
4. Da unten steht "Beispiel: File.pb".
5. Das liest du.
:allright:

Verfasst: 06.07.2005 20:57
von R4z0r1989
muss ich das kapieren was du jetzt damit meinst????????????????

da ist kein save oder open requester drin.

Verfasst: 06.07.2005 20:59
von ts-soft
Badboy99 hat geschrieben:muss ich das kapieren was du jetzt damit meinst????????????????

da ist kein save oder open requester drin.
Wähle Requester anstatt von File und Du wirst fündig werden

Verfasst: 06.07.2005 21:01
von Batze
Du hast ja auch nichts von einem Requester gesagt. :roll:
Guck doch mal in der Hilfe bei Requester. /:->
Ich dachte du hättest dir die Beispiele angeguckt. :?

Edit: Oh es weiß noch jemand.

Verfasst: 06.07.2005 21:04
von R4z0r1989
soviel so gut aber ich habe mir das jetzt 70 mal durchgelesen, und ich kapiere es immer noch nicht.

und jetzt nochmal zu der Frage ob es das so speichern würde wie ich es in meinem LED-Anzeige eingebe.

Verfasst: 06.07.2005 21:18
von Batze
Du kannst eine Schleife erstellen wie die am Anfang für das Laden.

Code: Alles auswählen

Dim LEDs.l(87, 39)

file.s = OpenFileRequester("Öffnen", "", "Leddateien|*.LED", 0)
OpenFile(0, file)

; LEDs aus Datsection einlesen
For j = 1 To 25
  For i = 1 To 50
    LEDs(i, j) = ReadLong()
  Next
Next
CloseFile(0)

InitSprite()

OpenWindow(0, 0, 0, 50 * 10 + 7, 25 * 10 + 7, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "LED-Test")
OpenWindowedScreen(WindowID(0), 0, 0, 50 * 10 + 6, 25 * 10 + 6, 0, 0, 0)

Repeat
  
  ClearScreen(0,0,0)
  
  StartDrawing(ScreenOutput())
  
  ; LEDs anzeigen
  For i = 1 To 50
    For j = 1 To 25
      
      ; Wenn an der Position im Array eine 1 steht
      If LEDs(i, j) = 0
        Color = RGB(0,0,0)  ; Schwarz
      EndIf
      
      If LEDs(i, j) = 1
        Color = RGB(255,0,0)  ; Rot
      EndIf
      
      If LEDs(i, j) = 2
        Color = RGB(0,255,0)  ; Grün
      EndIf
      
      
      ; LED anzeigen
      Circle(i * 10, j * 10,5, Color.l)
    Next
  Next
  
  StopDrawing()
  
  FlipBuffers()
  
  Select WindowEvent()
    Case #PB_EventCloseWindow
      file.s = SaveFileRequester("Speichern", "", "Leddateien|*.LED", 0) ; Neuer Dateityp ist doch praktisch :)
      CreateFile(0, file)
      For j = 1 To 25             ; Die hast du auch am Anfang !
        For i = 1 To 50
          WriteLong( LEDs(i, j) )
        Next
      Next
      Break
      
      ; Wenn die linke Maustaste gedrückt wurde
    Case #WM_LButtonDown
      ; Berechne die Position der LED anhand der Mauskoordinaten
      x.l = WindowMouseX() / 10-7/50
      y.l = WindowMouseY() / 10-7/25
      
      ; Ändere den Wert an dieser Stelle
      LEDs(x, y) ! 1
      
  EndSelect
  
  Delay(1)
  
ForEver
Wenn du das vestehst kannst du ja noch ein Menü zum Speichern und Laden erstellen.
Am Anfang musst du dir noch ne .LED Datei erstellen. Da muss nichts drinstehen! :wink:

Verfasst: 06.07.2005 21:31
von R4z0r1989
Es hat irgendeinen Fehler.
Es öfnet scheinbar die section, aber es ist nicht richtig, denn es zeigt einfach gar nichts an.

und das zweite man kann mit der Maus nicht die Farben verändern.

und daher ist das Speichern in dem Moment sinnlos.

Verfasst: 06.07.2005 21:42
von Batze
Also:
Als ich das ausprobiert habe zeigte er erstmal garnichts an.
Klar, denn ich hatte eine leere Datei geööfnet also war nichts drin.
Dann kannst du aber die Leds anschalten und beim Beenden wird gespeichert.
Wenn du das Programm beim nächsten mal startest kannst du die gespeicherte Datei öffnen und weiterverändern.
Bei mir funktionierts
Hier ein Beispiel zum runterladen und angucken.