gambas will nicht malen

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
trickser
Foriker
Beiträge: 66
Registriert: Di 23. Okt 2007, 19:00
Kontaktdaten:

gambas will nicht malen

Beitrag von trickser » So 24. Feb 2008, 15:53

Tag allerseits.
Habe mich wieder mal festgerannt, und hoffe, jemand hier
kann die Wand vor der ich stehe einreissen. :wink:

auf suse 10.3 benutze ich Gambas 1.0.19.
So; jetzt habe ich eine form, auf der 4 textfelder, 2 Button und
eine Drawingarea befindlich sind.

Bei Programmstart lasse ich in der sub form_open()
den buttons hg-farben und text zuteil werden,
die Textfelder positionieren und das "malfenster"
an seinen platz rücken.
als letztes will ich dann eine .png grafik in dieses
besagte malfenster laden lassen.

das will zum bersten nicht funktionieren. :evil:
wenn ich das ganze nach einem button_click()
aufrufen lasse, kein problem, dann gehts sofort. :P
nur eben aus der form_open absolut nicht.

Das Bild soll allerdings in jedem Fall zu Anfang erscheinen,
da es erklärende Funktion zum Programm bietet (Anschaulich)

hat jemand eine idee, wo ich was falsch mache?
bin für jeden hinweis dankbar...

weiterhin frohes coden,
cu
trickser

edit: uups.. hier bin ich wohl in die Falsche Rubrik gerutscht.
admins,, kan mann dies in "Programmierung" verschieben?
sorry....

boesche
Foriker
Beiträge: 3
Registriert: Mo 21. Apr 2008, 18:31
Wohnort: landau/pfalz
Kontaktdaten:

Beitrag von boesche » Di 22. Apr 2008, 09:02

vielleicht ist das open_form event zu früh und die widgets sind da noch nicht erstellt. probier's mal über das form_activate ereignis. (nicht getestet, nur so ne idee!)

trickser
Foriker
Beiträge: 66
Registriert: Di 23. Okt 2007, 19:00
Kontaktdaten:

Re: gambas will nicht malen

Beitrag von trickser » Sa 19. Jul 2008, 21:03

mmmmmhhhhhhhh?????????

wo sollte ich dann nach deiner
Meinung dieses event abfragen, wenn ich zum start
des Programms , OHNE weiteres zutun möchte, das
das Bild dort erscheint ?

(stutz)
gruss
trickser

yoda
Moderator
Beiträge: 436
Registriert: Mo 2. Jan 2006, 22:35
Wohnort: bei Göttinge
Kontaktdaten:

Re: gambas will nicht malen

Beitrag von yoda » So 20. Jul 2008, 15:54

hi,

hast du in button_click() und in form_open() den gleichen Code ?

mfg Yoda

trickser
Foriker
Beiträge: 66
Registriert: Di 23. Okt 2007, 19:00
Kontaktdaten:

Re: gambas will nicht malen

Beitrag von trickser » Di 22. Jul 2008, 00:02

Also , wenn ich code eingebe, womit ein Bild im PNG- Format in der Picture-Box
angezeigt werden soll, in der section der form_open() eintrage, wird das Bild beim starten
des Programms in Gambas NICHT angezeigt. Trage den selben Code, nur
in dem codeblock ein der eigens für einen button erstellt wurde, und klicke dann
nach programmstart auf den Button , erscheint das Bild.
Jap, haargenau der gleiche Code.
Ist mir ein rätsel.

vielleicht ist das open_form event zu früh und die widgets sind da noch nicht erstellt. probier's mal über das form_activate ereignis. (nicht getestet, nur so ne idee!)

Mir ist noch keine möglichkeit eingefallen, eine verzögerung nach der erstellung der Picture-Box
einzuleiten. Alleine schon, um dieses Verhalten zu testen.......



gruss

trickser
Foriker
Beiträge: 66
Registriert: Di 23. Okt 2007, 19:00
Kontaktdaten:

Re: gambas will nicht malen

Beitrag von trickser » So 3. Aug 2008, 12:46

Also , hier mal den richtigen code,
der Probleme macht.

Code: Alles auswählen

' Gambas class file

 vmasch AS Integer
 dwalz AS Float   
 nwalz AS Float
 uwalz AS Float
 zwalz AS Float
 ngetr AS Float
 res AS Float
 a$ AS String
 skizze1 AS Picture
 
PUBLIC SUB form_open()

  ME.Border = 2
  ME.Move(40, 40, 510, 620)
  ME.Border = 1
 
  a$ = "Walze"
  Label1.Text = ""
  Label2.Text = ""
  Label3.Text = ""
  Label4.Text = ""
  textbox1.Text = ""
  textbox2.Text = ""
  textbox3.Text = ""
  TextBox4.Text = ""
  button1.Text = "&Rechnen"
  button2.Text = "E&XIT"
  button1.BackColor = &4BFB00
  button2.BackColor = &FF2300
 
' Versuch Bild anzuzeigen
  drawingarea1.Move(TextBox2.x + 20, TextBox2.y + 100, 440, 380)
  drawingarea1.Border = 3
  Drawingarea1.Background = &F6d24d
 skizze1 = picture["unters-x2.png"]
 Draw.Begin(Drawingarea1)
  Draw.Picture(skizze1, 8, 8)
 Draw.End   
   Drawingarea1.Refresh
  form.Refresh
'Versuch Ende

END

PUBLIC SUB zeichne()
 DIM skizze1 AS Picture

 skizze1 = picture["unters-x2.png"]
 Draw.Begin(Drawingarea1)
  draw.Picture(skizze1, 8, 8)
 Draw.End
 
END

PUBLIC SUB button1_click()
 DIM i AS Integer
'und hier geht es dann
  zeichne
'  aber zu spät, es soll bei Porg.-Start anzeigen !

  TRY vmasch = CFloat(textbox1.Text)
   IF ERROR THEN
     message.Info("Ziffern bitte- zurückgesetzt auf 100", "OK")
     textbox1.Text = "100"
     vmasch = CFloat(textbox1.Text)
    ENDIF
   
  TRY dwalz = CFloat(textbox2.text / 1000)
    IF ERROR THEN
      message.Info("Ziffern bitte- zurückgesetzt auf 200", "OK")
      textbox2.text = "200"
      dwalz = CFloat(textbox2.text / 1000)
    ENDIF
 
 
  TRY zwalz = CFloat(textbox3.Text)
    IF ERROR THEN
      message.Info("Ziffern bitte- zurückgesetzt auf 10", "OK")
      textbox3.Text = "10"
      zwalz = CFloat(textbox3.Text)
    END IF
   
 
  TRY ngetr = CFloat(textbox4.Text)
   IF ERROR THEN
      message.Info("Ziffern bitte- zurückgesetzt auf 10", "OK")
      textbox4.Text = "10"
      ngetr = CFloat(textbox4.Text)
   END IF
   
  uwalz = dwalz * Pi
  nwalz = vmasch / uwalz
  res = (nwalz * zwalz) / ngetr
 
  Label1.BackColor = &F2DC7A
  Label2.BackColor = &F2DC7A
  Label3.BackColor = &F2DC7A
  Label4.BackColor = &2FDA3A
  Label1.Text = a$ & " Umfang m= " & " " & Format$(uwalz, "0#.####")
  Label2.Text = a$ & " Drehzahl = " & " " & Format$(nwalz, "####.####")
  Label3.Text = a$ & " Zähne = " & " " & Format$(zwalz, "####.####")
  Label4.Text = "Zähne gesucht = " & Format$(res, "####.####")
 
END

PUBLIC SUB Button2_Click()

  ME.Close

END


und das passende Bild dazu:

Bild

gruss
trickser

trickser
Foriker
Beiträge: 66
Registriert: Di 23. Okt 2007, 19:00
Kontaktdaten:

Re: gambas will nicht malen

Beitrag von trickser » Do 28. Aug 2008, 18:45

Hallo ,
..und weils so spannend ist gleich noch eine Frage:

wie man in dem CODE,eins vorher sehen kann,
setze ich 4 label auf leeren string.
ALLE meine bisherigen versuche, Gambas beizubringen
dies über eine Schleife zu bearbeiten, sind gescheitert.
Also praktisch statt jedes Label einzel anzugeben, wollte
ich eine Schleife etwa so :
For i = 1 to 0
Label(i).Text=""
Next i

hat nicht geklappt.
Kann man Gambas sowas beibringen???

Ist jetzt nicht das primäre problem, habe aber bereits grössere
Projekte in Planung, und dann wäre sowas echt hilfreich.

gruss
trickser

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste