LED

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

die Beisspiele hab ich mir schon angesehen.
und gibt es irgendwo ein Tutorial mit open und save.

Wenn ja Danke.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

muss ich das kapieren was du jetzt damit meinst????????????????

da ist kein save oder open requester drin.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Antworten