Hallo Leute,
ich habe hier ein PRG auf Windows geschrieben.
Dieses benutzt Textgadget's.
Also auf der Windows Muehle rennt das PRG
Auf Linux sehe ichs nichts egal mit #PB_Text_Border oder ohne
Welche genaue Lib (Linux) für die Grafik muss denn installiert sein,
damit des funktioniert ??? Bitte mit Quellenangabe
Danke Thomas
Linux was muss installiert werden ??
Ja, Nein, Okich habe hier ein PRG auf Windows geschrieben.
Dieses benutzt Textgadget's.
Also auf der Windows Muehle rennt das PRG
Auf Linux sehe ichs nichts egal mit #PB_Text_Border oder ohne
Welche genaue Lib (Linux) für die Grafik muss denn installiert sein,
damit des funktioniert ??? Bitte mit Quellenangabe
Thomas (?) die beschreibung des Problems ist leider etwas verwirrend, einer seits schreibst du was von Textgadgets andererseits von Grafik libs.
Beschreibe bitte das Problem etwas genauer, am besten Poste den Code mit damit man sehen kann obs bei den anderen funktioniert.
Was ist PRG ?
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
RE:
Hallo ...
also wir haben hier mal weitergemacht...
PRG = Programm
Also wenn ich das sample gadgetfull.pb teste
da kann ich die textgadgets lesen .......
in meinem programm leider nicht
ich hänge mal das programm hier mir an .....
;
; ------------------------------------------------------------
;
; Data Thomas Kalmeier DG5MPQ
;
; (c) 2005 - Joshua Soft & Hard
;
; ------------------------------------------------------------
;
#Version = "Data für DigiVolt (C) V0.99 01/2005 DG5MPQ"
#Ja = 1
#Nein = 0
#NL = Chr(13)+Chr(10)
#Laenge = 4096
Enumeration
#Text1
#Text2
#Text3
#Text4
#Text5
#Text6
#Text7
#Text8
#Text9
#Text10
#Text11
#Schliessen
#Text
#Dummy = #Text + 34
EndEnumeration
netzwerk.s = Space(#Laenge+1) + Chr(0)
Abstand.l = 0 ; Abstand der Minuten zwischen den den Daten
Position.l = 0 ; Position wo das Suchargument gefunden wurde
Ende.b = #Nein ; Programm ende
*daten = AllocateMemory (#Laenge+1) ; Daten des IP Frames
Zeit.f = 0 ; Interne Zeit des PRG
M.l = 0 ; Merker der Rechnerzeit
;----- Einlesen der Config --------------------------------
Merker = OpenPreferences("Data.cfg")
Such.s = ReadPreferenceString("Arg","") ; Suchstring
Port.l = ReadPreferenceLong("port",14091)
url.s = ReadPreferenceString("url","127.0.0.1")
If Merker
ClosePreferences()
EndIf
If OpenWindow(0, 10, 100, 900, 800, #PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget| #PB_Window_SystemMenu | #PB_Window_TitleBar |#PB_Window_ScreenCentered, #Version)
If CreateGadgetList(WindowID())
ButtonGadget(#Schliessen,830,760,70,40,"Ende")
TextGadget(#Text1,1,1,550,400,"",#PB_Text_Border)
TextGadget(#Text2,1,430,550,200,"",#PB_Text_Border)
TextGadget(#Text3,1,648,550,50,"",#PB_Text_Border)
TextGadget(#Text4,1,405,150,20,"",#PB_Text_Border)
TextGadget(#Text5,160,405,170,20,"",#PB_Text_Border)
TextGadget(#Text6,560,2,100,18,"Minute-1",#PB_Text_Center)
TextGadget(#Text7,665,2,100,18,"Aktuell",#PB_Text_Center)
TextGadget(#Text8,770,60,120,18,"")
TextGadget(#Text9,770,20,120,18,"")
TextGadget(#Text10,770,40,120,18,"")
;TextGadget(#Text11,770,2,120,18,"Abstand",#PB_Text_Center)
;DisableGadget(#Text11,#Ja)
For I = 0 To 33
TextGadget(#Text + I,560,20*I +20,100,16,"",#PB_Text_Border)
TextGadget(#Text +I +34,665,20*I+20,100,16,"",#PB_Text_Border)
Next
EndIf
If InitNetwork() = 0
MessageRequester("error","network init ")
End
EndIf
ConnectionID = OpenNetworkConnection(url, Port)
If ConnectionID = 0
MessageRequester("error","network id ")
End
EndIf
;----- Hauptprogram --------------------------------
Repeat
Repeat
EventID.l = WindowEvent()
If NetworkClientEvent(ConnectionID) = 2
Repeat
Ergebnis = ReceiveNetworkData(ConnectionID,*daten,#Laenge)
netzwerk = Space(#Laenge+1) + Chr(0)
CopyMemory(*daten,@netzwerk,Ergebnis)
SetGadgetText(#Text4,"Länge IP Frame. "+ Str(Ergebnis))
SetGadgetText(#Text1,netzwerk)
Repeat
Position_such = FindString(netzwerk,Such,1)
If Position_such
netzwerk = Right(netzwerk,Len(netzwerk)-Position_such-Len(Such))
SetGadgetText(#Text2,netzwerk)
Position = FindString(netzwerk,"Text",1)
Gefunden.s = Mid (netzwerk,Position + 5,251)
SetGadgetText(#Text3,Gefunden)
SetGadgetText(#Text5,"Position Daten in Frame: "+ Str(Position_such))
If GetGadgetText(#Text+34) ; Wir kopieren um weil wir Daten neue Daten haben
For I = 0 To 33
SetGadgetText(#Text+I,GetGadgetText(#Text+I+34)) ; Werte auf -1 Kopieren
Next
EndIf
OpenFile(1,"thomas.dat")
FileSeek(Lof())
WriteString("Länge IP Frame. "+ Str(Ergebnis)+" Position Daten in Frame: "+ Str(Position_such)+" ")
For I = 0 To 33
SetGadgetText(#Text+I+34,StringField(Gefunden,I+ 1," ")) ; Hier lesen wir die Einzelnen Werte aus dem String
WriteString(GetGadgetText(#Text+I+34))
Next
WriteString(Chr(13))
CloseFile(1)
Zeit = 0 ; Dann wieder auf null setzen
If GetGadgetText(#Text) ; Wir arbeiten an den Wiederholungen da wir einen Abstand haben
Abstand.l = Int ((Val(GetGadgetText(#Text+36))- Val(GetGadgetText(#Text+2)))/60)-1
SetGadgetText(#Text8,"X mal Wiederholen: "+Str(Abstand))
EndIf
EndIf
Until Position_such = 0
Until Ergenis <> #Laenge
EndIf
If GetGadgetText(#Text+34)
If M <> Date()
M = Date()
Zeit = Zeit +1
SetGadgetText(#Text10,"Abstand:" + FormatDate("%hh.%ii.%ss",Zeit))
EndIf
EndIf
Delay(2)
Until EventID <> 0
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Schliessen
Ende = #Ja
EndSelect
EndSelect
Delay(10)
Until EventID = #PB_EventCloseWindow Or Ende = #Ja
EndIf
End
;----- Hauptprogram Ende ---------------------------
;------- SUBS --------------------------------------
also wir haben hier mal weitergemacht...
PRG = Programm
Also wenn ich das sample gadgetfull.pb teste
da kann ich die textgadgets lesen .......
in meinem programm leider nicht
ich hänge mal das programm hier mir an .....
;
; ------------------------------------------------------------
;
; Data Thomas Kalmeier DG5MPQ
;
; (c) 2005 - Joshua Soft & Hard
;
; ------------------------------------------------------------
;
#Version = "Data für DigiVolt (C) V0.99 01/2005 DG5MPQ"
#Ja = 1
#Nein = 0
#NL = Chr(13)+Chr(10)
#Laenge = 4096
Enumeration
#Text1
#Text2
#Text3
#Text4
#Text5
#Text6
#Text7
#Text8
#Text9
#Text10
#Text11
#Schliessen
#Text
#Dummy = #Text + 34
EndEnumeration
netzwerk.s = Space(#Laenge+1) + Chr(0)
Abstand.l = 0 ; Abstand der Minuten zwischen den den Daten
Position.l = 0 ; Position wo das Suchargument gefunden wurde
Ende.b = #Nein ; Programm ende
*daten = AllocateMemory (#Laenge+1) ; Daten des IP Frames
Zeit.f = 0 ; Interne Zeit des PRG
M.l = 0 ; Merker der Rechnerzeit
;----- Einlesen der Config --------------------------------
Merker = OpenPreferences("Data.cfg")
Such.s = ReadPreferenceString("Arg","") ; Suchstring
Port.l = ReadPreferenceLong("port",14091)
url.s = ReadPreferenceString("url","127.0.0.1")
If Merker
ClosePreferences()
EndIf
If OpenWindow(0, 10, 100, 900, 800, #PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget| #PB_Window_SystemMenu | #PB_Window_TitleBar |#PB_Window_ScreenCentered, #Version)
If CreateGadgetList(WindowID())
ButtonGadget(#Schliessen,830,760,70,40,"Ende")
TextGadget(#Text1,1,1,550,400,"",#PB_Text_Border)
TextGadget(#Text2,1,430,550,200,"",#PB_Text_Border)
TextGadget(#Text3,1,648,550,50,"",#PB_Text_Border)
TextGadget(#Text4,1,405,150,20,"",#PB_Text_Border)
TextGadget(#Text5,160,405,170,20,"",#PB_Text_Border)
TextGadget(#Text6,560,2,100,18,"Minute-1",#PB_Text_Center)
TextGadget(#Text7,665,2,100,18,"Aktuell",#PB_Text_Center)
TextGadget(#Text8,770,60,120,18,"")
TextGadget(#Text9,770,20,120,18,"")
TextGadget(#Text10,770,40,120,18,"")
;TextGadget(#Text11,770,2,120,18,"Abstand",#PB_Text_Center)
;DisableGadget(#Text11,#Ja)
For I = 0 To 33
TextGadget(#Text + I,560,20*I +20,100,16,"",#PB_Text_Border)
TextGadget(#Text +I +34,665,20*I+20,100,16,"",#PB_Text_Border)
Next
EndIf
If InitNetwork() = 0
MessageRequester("error","network init ")
End
EndIf
ConnectionID = OpenNetworkConnection(url, Port)
If ConnectionID = 0
MessageRequester("error","network id ")
End
EndIf
;----- Hauptprogram --------------------------------
Repeat
Repeat
EventID.l = WindowEvent()
If NetworkClientEvent(ConnectionID) = 2
Repeat
Ergebnis = ReceiveNetworkData(ConnectionID,*daten,#Laenge)
netzwerk = Space(#Laenge+1) + Chr(0)
CopyMemory(*daten,@netzwerk,Ergebnis)
SetGadgetText(#Text4,"Länge IP Frame. "+ Str(Ergebnis))
SetGadgetText(#Text1,netzwerk)
Repeat
Position_such = FindString(netzwerk,Such,1)
If Position_such
netzwerk = Right(netzwerk,Len(netzwerk)-Position_such-Len(Such))
SetGadgetText(#Text2,netzwerk)
Position = FindString(netzwerk,"Text",1)
Gefunden.s = Mid (netzwerk,Position + 5,251)
SetGadgetText(#Text3,Gefunden)
SetGadgetText(#Text5,"Position Daten in Frame: "+ Str(Position_such))
If GetGadgetText(#Text+34) ; Wir kopieren um weil wir Daten neue Daten haben
For I = 0 To 33
SetGadgetText(#Text+I,GetGadgetText(#Text+I+34)) ; Werte auf -1 Kopieren
Next
EndIf
OpenFile(1,"thomas.dat")
FileSeek(Lof())
WriteString("Länge IP Frame. "+ Str(Ergebnis)+" Position Daten in Frame: "+ Str(Position_such)+" ")
For I = 0 To 33
SetGadgetText(#Text+I+34,StringField(Gefunden,I+ 1," ")) ; Hier lesen wir die Einzelnen Werte aus dem String
WriteString(GetGadgetText(#Text+I+34))
Next
WriteString(Chr(13))
CloseFile(1)
Zeit = 0 ; Dann wieder auf null setzen
If GetGadgetText(#Text) ; Wir arbeiten an den Wiederholungen da wir einen Abstand haben
Abstand.l = Int ((Val(GetGadgetText(#Text+36))- Val(GetGadgetText(#Text+2)))/60)-1
SetGadgetText(#Text8,"X mal Wiederholen: "+Str(Abstand))
EndIf
EndIf
Until Position_such = 0
Until Ergenis <> #Laenge
EndIf
If GetGadgetText(#Text+34)
If M <> Date()
M = Date()
Zeit = Zeit +1
SetGadgetText(#Text10,"Abstand:" + FormatDate("%hh.%ii.%ss",Zeit))
EndIf
EndIf
Delay(2)
Until EventID <> 0
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Schliessen
Ende = #Ja
EndSelect
EndSelect
Delay(10)
Until EventID = #PB_EventCloseWindow Or Ende = #Ja
EndIf
End
;----- Hauptprogram Ende ---------------------------
;------- SUBS --------------------------------------
Ok, jetzt denke ich zu verstechen was du meinst.
Also, erstens wird anscheinend #PB_Text_Center unter Linux ignoriert.
Zweitens Funktioniert bei dir OpenNetworkConnection(url, Port) ? Ich bekomme immer 0.
Und wenn der Netzwerk nicht funktioniert dann wird doch nichts in den TextGadgets angezeigt.
Also, es kann sein das auf meinem und deinem System etwas falsch konfiguriert ist, aber es kann auch sein dass OpenNetworkConnection(url, Port) nicht funktioniert.
Also, erstens wird anscheinend #PB_Text_Center unter Linux ignoriert.
Zweitens Funktioniert bei dir OpenNetworkConnection(url, Port) ? Ich bekomme immer 0.
Und wenn der Netzwerk nicht funktioniert dann wird doch nichts in den TextGadgets angezeigt.
Also, es kann sein das auf meinem und deinem System etwas falsch konfiguriert ist, aber es kann auch sein dass OpenNetworkConnection(url, Port) nicht funktioniert.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Sorry
Sorry....
versuchs mal mit diesem Config file
data.cfg ....
Port = 14091
url = http://db0noe.dyndns.org
arg = AX25: DB0HBG-15->STROM
Gruß Thomas
versuchs mal mit diesem Config file
data.cfg ....
Port = 14091
url = http://db0noe.dyndns.org
arg = AX25: DB0HBG-15->STROM
Gruß Thomas
> lass das http://
Oh man, das ist mir jetzt peinlich dass ich das nicht gemerkt habe.
Ansonsten nehme ich denn ganzen Quatsch was ich hier uber PB-Netzwerk verzapft habe zurück.Die Daten werden aus den Internet geladen mit den PB-netzwerkbefehlen stimmt also alles.
Thomas bei mir scheint dein Programm zu funktionieren, ich habe nur TextGadgets in StingGadgets mit #ReadOnly-Flag geändert, und die 2 mit MultiLine in EditorGadget weli sonst Probleme mit Zeilen umbruch gabs.
Ich weiss nicht genau was dein Program tut, aber es sieht relativ spektakuler aus.
Das kann ich noch nicht überblicken:
>da kann ich die textgadgets lesen .......
>in meinem programm leider nicht
Müsste dein Programm genauer verstehen, und das geht nicht so auf anhieb.
Das ist der leich veränderte Code der bei mir läuft:
Oh man, das ist mir jetzt peinlich dass ich das nicht gemerkt habe.
Ansonsten nehme ich denn ganzen Quatsch was ich hier uber PB-Netzwerk verzapft habe zurück.Die Daten werden aus den Internet geladen mit den PB-netzwerkbefehlen stimmt also alles.
Thomas bei mir scheint dein Programm zu funktionieren, ich habe nur TextGadgets in StingGadgets mit #ReadOnly-Flag geändert, und die 2 mit MultiLine in EditorGadget weli sonst Probleme mit Zeilen umbruch gabs.
Ich weiss nicht genau was dein Program tut, aber es sieht relativ spektakuler aus.
Das kann ich noch nicht überblicken:
>da kann ich die textgadgets lesen .......
>in meinem programm leider nicht
Müsste dein Programm genauer verstehen, und das geht nicht so auf anhieb.
Das ist der leich veränderte Code der bei mir läuft:
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; Data Thomas Kalmeier DG5MPQ
;
; (c) 2005 - Joshua Soft & Hard
;
; ------------------------------------------------------------
;
#Version = "Data fr DigiVolt (C) V0.99 01/2005 DG5MPQ"
#Ja = 1
#Nein = 0
#NL = Chr(13)+Chr(10)
#Laenge = 4096
Enumeration
#Text1
#Text2
#Text3
#Text4
#Text5
#Text6
#Text7
#Text8
#Text9
#Text10
#Text11
#Schliessen
#Text
#Dummy = #Text + 34
EndEnumeration
netzwerk.s = Space(#Laenge+1) + Chr(0)
Abstand.l = 0 ; Abstand der Minuten zwischen den den Daten
Position.l = 0 ; Position wo das Suchargument gefunden wurde
Ende.b = #Nein ; Programm ende
*daten = AllocateMemory (#Laenge+1) ; Daten des IP Frames
Zeit.f = 0 ; Interne Zeit des PRG
M.l = 0 ; Merker der Rechnerzeit
;----- Einlesen der Config --------------------------------
Merker = OpenPreferences("Data.cfg")
Such.s =ReadPreferenceString("Arg","") ; Suchstring
Port.l =ReadPreferenceLong("port",14091)
url.s = ReadPreferenceString("url","127.0.0.1")
If Merker
ClosePreferences()
EndIf
If OpenWindow(0, 10, 100, 900, 800, #PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget| #PB_Window_SystemMenu | #PB_Window_TitleBar |#PB_Window_ScreenCentered, #Version)
If CreateGadgetList(WindowID())
ButtonGadget(#Schliessen,830,760,70,40,"Ende")
EditorGadget(#Text1,1,1,550,400)
EditorGadget(#Text2,1,430,550,200)
StringGadget(#Text3,1,648,550,50,"",#PB_String_ReadOnly)
StringGadget(#Text4,1,405,150,20,"",#PB_String_ReadOnly)
StringGadget(#Text5,160,405,170,20,"",#PB_String_ReadOnly)
StringGadget(#Text6,560,2,100,18,"Minute-1",#PB_String_ReadOnly)
StringGadget(#Text7,665,2,100,18,"Aktuell",#PB_String_ReadOnly)
StringGadget(#Text8,770,60,120,18,"",#PB_String_ReadOnly)
StringGadget(#Text9,770,20,120,18,"",#PB_String_ReadOnly)
StringGadget(#Text10,770,40,120,18,"",#PB_String_ReadOnly)
;StringGadget(#Text11,770,2,120,18,"Abstand",#PB_Text_Center)
;DisableGadget(#Text11,#Ja)
For I = 0 To 33
StringGadget(#Text + I,560,20*I +20,100,16,"",#PB_String_ReadOnly)
StringGadget(#Text +I +34,665,20*I+20,100,16,"",#PB_String_ReadOnly)
Next
EndIf
If InitNetwork() = 0
MessageRequester("error","network init ")
End
EndIf
ConnectionID = OpenNetworkConnection(url, Port)
If ConnectionID = 0
MessageRequester("error","network id ")
End
EndIf
;----- Hauptprogram --------------------------------
Repeat
Repeat
EventID.l = WindowEvent()
If NetworkClientEvent(ConnectionID) = 2
Repeat
Ergebnis = ReceiveNetworkData(ConnectionID,*daten,#Laenge)
netzwerk = Space(#Laenge+1) + Chr(0)
CopyMemory(*daten,@netzwerk,Ergebnis)
SetGadgetText(#Text4,"L?ge IP Frame. "+ Str(Ergebnis))
SetGadgetText(#Text1,netzwerk)
Repeat
Position_such = FindString(netzwerk,Such,1)
If Position_such
netzwerk = Right(netzwerk,Len(netzwerk)-Position_such-Len(Such))
SetGadgetText(#Text2,netzwerk)
Position = FindString(netzwerk,"Text",1)
Gefunden.s = Mid (netzwerk,Position + 5,251)
SetGadgetText(#Text3,Gefunden)
SetGadgetText(#Text5,"Position Daten in Frame: "+ Str(Position_such))
If GetGadgetText(#Text+34) ; Wir kopieren um weil wir Daten neue Daten haben
For I = 0 To 33
SetGadgetText(#Text+I,GetGadgetText(#Text+I+34)) ; Werte auf -1 Kopieren
Next
EndIf
OpenFile(1,"thomas.dat")
FileSeek(Lof())
WriteString("L?ge IP Frame. "+ Str(Ergebnis)+" Position Daten in Frame: "+ Str(Position_such)+" ")
For I = 0 To 33
SetGadgetText(#Text+I+34,StringField(Gefunden,I+ 1," ")) ; Hier lesen wir die Einzelnen Werte aus dem String
WriteString(GetGadgetText(#Text+I+34))
Next
WriteString(Chr(13))
CloseFile(1)
Zeit = 0 ; Dann wieder auf null setzen
If GetGadgetText(#Text) ; Wir arbeiten an den Wiederholungen da wir einen Abstand haben
Abstand.l = Int ((Val(GetGadgetText(#Text+36))- Val(GetGadgetText(#Text+2)))/60)-1
SetGadgetText(#Text8,"X mal Wiederholen: "+Str(Abstand))
EndIf
EndIf
Until Position_such = 0
Until Ergenis <> #Laenge
EndIf
If GetGadgetText(#Text+34)
If M <> Date()
M = Date()
Zeit = Zeit +1
SetGadgetText(#Text10,"Abstand:" + FormatDate("%hh.%ii.%ss",Zeit))
EndIf
EndIf
Delay(2)
Until EventID <> 0
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Schliessen
Ende = #Ja
EndSelect
EndSelect
Delay(10)
Until EventID = #PB_EventCloseWindow Or Ende = #Ja
EndIf
End
;----- Hauptprogram Ende ---------------------------
;------- SUBS --------------------------------------
; ExecutableFormat=Windows Linux?
; EOFAmilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94