Linux was muss installiert werden ??
Verfasst: 28.01.2005 22:13
von Joshua
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
Verfasst: 28.01.2005 22:22
von MARTIN
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
Ja, Nein, Ok
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 ?
RE:
Verfasst: 28.01.2005 22:37
von Joshua
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 --------------------------------------
Verfasst: 28.01.2005 23:34
von MARTIN
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.
Verfasst: 29.01.2005 00:08
von MARTIN
>versuchs mal mit....
Das war mir schon klar. Es geht nicht um die paramertern.
OpenNetworkConnection(url, Port) funktioniert schon. Allerdings nicht mit deinen prametern. mit einem ftp server funktioniert es.
ne ne
Verfasst: 29.01.2005 00:22
von Joshua
Also bei mir in Windows
ja stimmt lass das http://
weg und nimm nur die adresse
db0noe.dyndns.org
dann sollte es tun
gruß Thomas
Verfasst: 29.01.2005 01:36
von MARTIN
> 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:
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?
; EOF