Werte von außen in eine Textbox schreiben

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

PBZecke hat geschrieben:Weg von einer modernen OOP zur PB-Steinzeit.
Ich persönlich mag OOP eigentlich sehr gerne. Aber um den Text eines
Gadgets zu setzen, reicht wirklich der Procedurale Ansatz, wobei ich
natürlich einsehe, dass OOP-Gadgets schon irgendwie sexy sind :)
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Offtopic: Nachdem ich OOP in PHP endlich kapiert habe, hab ich gemerkt, wie geil des ist. Das ganze ist soooooo viel praktischer, und momentan ist es das einzige, dass ich bei PB wirklich vermisse. Außerdem muss doch niemand OOP benutzen. Bei TurboPascal, u.s.w. (und nat. PHP) ist es ja auch optional. --> Ab auf den Wunschzettel für PB 17.49 im Jahre 2036.


Simon
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

...mal 'ne ganz andere lösungsidee
(korrigiert mich bitte, wenn ich jetzt müll erzähle)

...könnte man nicht den pointer von dem gadgettext irgentwie ermitteln?

...dann müsste man doch den poiter-inhalt direkt ändern können, gell?

...natürlich müsste man am anfang den inhalt als genügend grossen dummy definieren, damit man nicht übers ende schreibt...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

immerzu Pointer

ich nehm fast schon an dass die pointer immerzu auf den Teppich kommen weil in der PB-Hilfe steht dass das was für fortgeschrittene Programmierer ist.
:mrgreen:

Pb ist PB und kommt in weiten Teilen ohne direkt zu manipulierende Pointer aus.

Code: Alles auswählen

;- Window Constants
;
Enumeration
#Window_0
#Window_1
#Button_0
#Button_1
#String_0
#Button_2
EndEnumeration

Global win1,win2

If OpenWindow(#Window_0, 216, 0, 600, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Application")
  win1=WindowID(#WIndow_0)
  If CreateGadgetList(WindowID())
    ButtonGadget(#Button_0, 0, 0, 170, 110, "FillTextBox")
    ButtonGadget(#Button_1, 170, 0, 170, 110, "Schluss nun")
  EndIf
EndIf
If OpenWindow(#Window_1, 410, 159, 295, 216,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "TextBoxWindow",win1)
  win2=WindowID(#WIndow_1)
  If CreateGadgetList(WindowID())
    StringGadget(#String_0, 0, 0, WindowWidth(), WindowHeight()-20, "")
    ButtonGadget(#Button_2, 0, WindowHeight()-20, WindowWidth(), 20, "Anderes An-Aus",#PB_Button_Toggle)
  EndIf
EndIf

HideWindow(#Window_0,0)
Repeat
  Event = WaitWindowEvent()
  If Event = #PB_EventGadget
    ;Debug "WindowID: " + Str(EventWindowID())
    GadgetID = EventGadgetID()
    If GetGadgetState(#button_2)=1
      HideWindow(#window_0,1)
    Else
      HideWindow(#window_0,0)
    EndIf
    If GadgetID = #Button_1
      End
    EndIf
    If GadgetID = #Button_0
      Debug "GadgetID: #Button_0"
      UseWindow(#Window_1)
      text.s=""
      For i=1 To 20
        text+Chr(Random(24)+97)
        SetGadgetText(#String_0,text)
      Next i
    ElseIf GadgetID = #String_0
      Debug "GadgetID: #String_0"
    EndIf
  EndIf
Until Event = #PB_EventCloseWindow
End
;
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

bluejoke hat geschrieben:Ab auf den Wunschzettel für PB 17.49 im Jahre 2036.
Sehr (!) begrenzt ist das schon möglich in PB. Durchsuch mal das
Codearchiv nach OOP, da gibt es einige Beispiele in PB.

Was nicht funktioniert sind die Geschichten, die dann ins eingemachte
gehen, das fängt schon bei vererbung an, die zwar theoretisch möglich ist,
sich aber bei selber geschriebenen Klassen schon etwas schierig gestaltet.

Also, nicht zu viel erwarten, aber einfache Objekte kann man schon
basteln.

Vielleicht solltest du für Fragen über das hier hinnaus aber einen neuen
Thread öffnen :roll: :wink:
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@bobobo

sorry...

aber ich habe mich schon lange an pointer gewöhnt

z.b. unter DOS mit QuickC 3.5 war es am einfachsten, einen punkt in die grafik mit pointer zu setzen, anstatt eine umständlich PSET-funktion zu benutzen...(wohlgemerkt, MODE13 mit 320x160x256farben war der tollste grafixmode damals...)

...nur mal als beispiel...

Pb ist PB : aber der direkte weg ist doch manchmal der kürzeste...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

[quote="Kaeru Gaman

...
Pb ist PB : aber der direkte weg ist doch manchmal der kürzeste...[/quote]

In diesem Falle ist der direkte Weg SetWindowText_() ... :wink:
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Antworten