Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 18.07.2011, 02:54 Titel: Textbox aktuallisieren |
|
|
ich bin noch anfänger und habe keine ahnung ob ich das richig formuliere :
Ich habe sgui ausprobiert und habe eine textbox erstellt. als inhalt habe ich eine string variable hineingepackt. nun habe ich im unteren teil des sciptes einen button mit abfrage und wo drin steht dass die variable in der textbox "so und so" heißen soll. aber das funktioniert nicht im programm. wie kann ich die textbox aktualisieren mit dem neuen inhalt?
Hoffe ihr könnt mir ein wenig helfen.
Ps meckert nicht immer an sgui rum. ich bin ein anfänger und habe fast garkeine ahnung und deshalb verstehe ich auch nicht wenn ihr über irgendwas mit libs oder externen libs usw. sprecht. Danke
MFG Emporea1997 |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 18.07.2011, 13:24 Titel: |
|
|
Wenn du mit Textbox das StringGadget meinst, dafür gibt es die Funktion SetString(textbox_ptr, "neuer Text"). 'textbox_ptr' ist dabei der Name der Variable, der du mit AddStringGadget() die Textboxeigenschaften gegeben hast. |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 18.07.2011, 21:29 Titel: |
|
|
Nein Ich meine eigentlich die ListBox |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 18.07.2011, 21:37 Titel: |
|
|
Schau dir dazu einfach mal den Code in der Datei "Demo_ListBox.bas" an, da wird gezeigt wie neuer Text geladen wird. |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 18.07.2011, 21:42 Titel: |
|
|
ja das habe ich schon etliche male versucht aber immer gescheitert. ich will den text ja nicht aus einer datei haben sondern die list box als praktisch eine ereignis anzeige nehmen. also zumbeispiel if der button gedrückt dann schreib da das und das und die uhrzeit und wenn da ein button gedrückt wird dann schreib dass und das.
das ist es was ich möchte. kannst du mir bitte weiterhelfen
MFG Emporea1997 |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 18.07.2011, 21:50 Titel: |
|
|
Es ist eigentlich egal ob du nun aus einer Datei liest oder wie auch immer, wichtig ist, dass du das TextArray mit deinem Text befüllst und danach InitNewListArray verwendest, was der ListBox den neuen Text zuweist. |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 18.07.2011, 21:52 Titel: |
|
|
bei mir steht aber wenn ich initnewtextarray mache dass die variale nicht definiert wurde |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 18.07.2011, 21:54 Titel: |
|
|
InitNewListArray |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 19.07.2011, 23:52 Titel: |
|
|
!!! ungetestet (es läuft hier noch nicht alles ), sind nur Schnipsel aus meinem Bebalone-Projekt, wo nach selbigen Prinzip ein Mini-Chat realisiert wurde!!!
Ich vermute mal, Emporea1997 möchte eine Art Log in einer TextViewBox realisieren.
also du benötigst als erstes ein Dynamisches (String)Array
Code: |
redim as string txt(0)'dynamischesArray erzeugen das alle Messages im Laufe des Spiels aufnimmt
|
später erzeugst du eine TextViewBox
Code: |
dim as Gadget ptr msglog
msglog=AddTextViewBox(event,20,320,65,10,txt())
GadgetOn(msglog)
|
und wenn du einen Text bei einem Druck au deinen Button in der TextViewBox anzeigen lassen willst,
dann geht das so:
Code: |
redim preserve txt(ubound(txt)+1) 'Vergrößern des (String)Arrays, alter Inhalt bleibt bei Schlüsselwort preserve erhalten!
txt(ubound(txt))="" 'deinen Text in die letzte(und grad erzeugte) Stelle eintragen
InitNewTextArray(msglog,txt(),ubound(txt)) 'dem Control das "veränderte/verlängerte" Array bekannt machen!
'mit dem letzten Parameter (ubound(txt)) wird das Control gleichzeitig veranlaßt, zur letzten Zeile zu Scrollen
|
von daher könnte InitNewTextArray richtig sein |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 21.07.2011, 04:08 Titel: |
|
|
Danke erst mal ! kann den code leider selber nicht testen da ich an einem anderen computer bin und dort kein fbc usw habe und keine lust habe es zu installieren. ich gehe einfach mal davon aus dass es geht und es ist auch sehr ausführlich beschreiben!
Danke!! |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 22.07.2011, 01:04 Titel: |
|
|
so habs getestet und es funktioniert! Thx |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 22.07.2011, 01:22 Titel: |
|
|
mhh es funzt doch ned so wie ich es mir vorgestellt hab. der text erscheint zwar aber erstens funktioniert das mit dem ganz am ende bei initnewlistarray mit (ubound(txt)) nicht und zweitens wenn man es anklickt dann verschwindet der text...
ich hoffe ihr könnt mir auch diesesmal nochmal helfen |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 22.07.2011, 01:45 Titel: |
|
|
Es ist schwierig hier eine Diagnose zu stellen, da die Informationen nur sehr vage sind. Poste doch mal Codestücke oder den gesamten Code, dann können wir dir vermutlich besser helfen. |
|
Nach oben |
|
 |
Emporea1997
Anmeldungsdatum: 07.07.2011 Beiträge: 58
|
Verfasst am: 22.07.2011, 03:01 Titel: |
|
|
Code: | ReDim as string txt(0)
ReDim preserve txt(ubound(txt)+1)
txt(ubound(txt))="Sicherung gestartet"
ReDim preserve txt(ubound(txt)+2)
txt(UBound(txt))= Date + " " + Time
InitNewListArray(list2,txt()) |
das eigentliche programm ist natürlich viiel größer
. es ist lange harte arbeit gewesen und deswegen möchte ich den code nicht in diesem öffentlichen forum preisgeben. mit einer pn wäre ich einverstanden. |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 22.07.2011, 08:10 Titel: |
|
|
Code: | 'Compileroption "-s gui"
#include "sGUI\sGUI.bas"
#include "sGUI\Arrows.bas"
#include "sGUI\Sliders.bas"
#include "sGUI\ListBox.bas"
#include "sGUI\SimpleGadget.bas"
screen 16,32,,&H04
InitGFX
dim as EventHandle ptr event
event=CreateEventHandle
dim as Gadget ptr list2,but
redim as string txt(0)
list2=AddListBox(event,10,10,50,20,txt())
but=AddSimpleGadget(event,10,360,400,20,"Hier klicken um etwas in die ListBox einzutragen")
GadgetOn (list2)
GadgetOn (but)
do
event->xSleep(1)
if event->GADGETMESSAGE then
select case event->GADGETMESSAGE
case but
redim preserve txt(ubound(txt)+1)
txt(ubound(txt))="Sicherung gestartet"
redim preserve txt(ubound(txt)+1)
txt(ubound(txt))= date & " " & time
InitNewListArray(list2,txt())
SetListBoxVal (list2, ubound(txt))
case list2
'bisher keine Aktion beim Anklicken eines Eintrages
end select
end if
loop until event->EXITEVENT
DestroyEventHandle (event)
end |
|
|
Nach oben |
|
 |
|