Seite 1 von 1

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.

Sorry

Verfasst: 28.01.2005 23:53
von Joshua
Sorry....

versuchs mal mit diesem Config file

data.cfg ....

Port = 14091
url = http://db0noe.dyndns.org
arg = AX25: DB0HBG-15->STROM


Gruß Thomas

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