Seite 3 von 4

Verfasst: 06.07.2005 21:49
von R4z0r1989
sorry habe deinen eintrag nicht fertiggelesen.
es funktioniert.
Aber er speichert immer als *.* und nicht als *.LED

Warum????????????ß

Verfasst: 06.07.2005 21:58
von Batze
Das musst du Fred fragen!
Der blöde Requester gibt immer nur die Endung zurück wenn sie explizit angegeben wird.

Aber das lässt sich lösen:

Code: Alles auswählen

      If LCase(GetExtensionPart(file)) <> "led"
        file + ".led" 
      EndIf
Hab ich vergessen; mein Fehler :oops:

Verfasst: 06.07.2005 22:05
von R4z0r1989
aber wie ode rwo muss ich das einfügen(*Fragezeichen nicht vergess*)?

Verfasst: 06.07.2005 22:11
von Batze
Hinter File = SaveFileRequester( ...
Ist doch logisch, oder? :allright:

Verfasst: 06.07.2005 22:31
von R4z0r1989
grht nicht!!!

gib mir bitte ein BS!!!

Verfasst: 06.07.2005 22:49
von Batze
warum nicht?
Versuch es doch mal selber hinzubekommen! :evil:

Naja, ich hab mir das sowieso schon programmiert: <)
batze.led
leds.pb

Verfasst: 06.07.2005 23:00
von R4z0r1989
Bei deiner Version gehts auch nicht.

Verfasst: 06.07.2005 23:07
von Batze
Was geht nicht?

Verfasst: 06.07.2005 23:09
von R4z0r1989
Das Speichern mit der endung *.LED

Was aber eigentlich klar ist
da du es gar nicht drin hast deine Endungs...

Verfasst: 06.07.2005 23:15
von Batze
Mist mein FTP-Programm scheint nicht mehr zu funktionieren!
Danke! Gut das du das rausgefunden hast.
Jetzt halt der Code im Forum :freak:

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 :)
      If LCase(GetExtensionPart(file)) <> "led"
        file + ".led" 
      EndIf
      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
      If LEDs(x, y) => 3 : LEDs(x, y) = 0 : EndIf 
      
  EndSelect
  
  Delay(1)
  
ForEver