Springen naar inhoud


- - - - -
VB6

(Vb6) - Label Verbinden Met Lijnen Volgens Textboxen Waarden



  • Log in a.u.b. om te beantwoorden
Er zijn 13 reacties in dit onderwerp

#1 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 06 juli 2020 - 16:10

Dag
Ik weet niet als zo een formule/algoritme  bestaat voor mijn probleem.
Ik heb geprobeerd met honderden if-then  maar wil ook niet lukken.
bv:

Code:
If a = "1" And b = "2" Then
Line ((Label1.Left + Label1.Width), (Label1.Top + Label1.Height))-(Label2.Left, Label2.Top)
End If

na honderden   if-then heb ik opgegeven.


Ik denk dat toch een formule bestaat in een paar regels .


Mijn doel: verschillende labels met een lijn (line) verbinden  
volgens de textboxen waarden

ik heb (zie tekening) 9 textboxen (a,b,c,d,e,f,g,h,i) als input
in elke textbox kan  een getal in de range  1-9 (ook gelijk waarden in diverse  textbox)
de textbox moet je altijd twee per twee nemen.

Ik heb ook 9 labels in cirkel.
Twee labels moet je verbinden met een lijn volgens de textbox getal.
BV. Al ik in text1 "1" heb en in text2 "2" heb dat komt een lijn tussen label1 en label2
dus steeds van label x naar label x

dank U

Bijgevoegde Bestanden

  • Bijlage  afb.jpg   14,68K   1 downloads


#2 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 06 juli 2020 - 18:30

Dat is een mooie oefening :) maar zou het niet direct weten. Ik zal een proberen in .net

#3 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 06 juli 2020 - 18:36

Inderdaad een sterk oefening, Damic.
....... :-o en ik hoop  dan in een oplossings code in vb6.
Bedankt

#4 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 06 juli 2020 - 19:19

Ik ben er bijna :) heb nog geen lijn getekend maar ik voel het ik ben er bijna, tip gebruik functies en subs

#5 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 06 juli 2020 - 19:29

:)

#6 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 06 juli 2020 - 19:34

!!!OPGEPAST CODE IS VOOR VB.NET, maar je kan dit natuurlijk zelf omzetten naar VB6!!!

Visual Basic Code:
Private DrawControls(5) As Control

	Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
		DrawControls(0) = Lbl1
		DrawControls(1) = Lbl2
		DrawControls(2) = Lbl3
		DrawControls(3) = Lbl4
		DrawControls(4) = Lbl5
		DrawControls(5) = Lbl6
	End Sub

	''' <summary>
	''' Gives the center of a control on this form
	''' </summary>
	Private Function GetCenterControlOnForm(Ctrl As Control) As Point
		Try
			GetCenterControlOnForm.X = Ctrl.Width / 2 + Ctrl.Left
			GetCenterControlOnForm.Y = Ctrl.Height / 2 + Ctrl.Top
		Catch ex As Exception
			Debug.WriteLine("GetCenterControlOnForm: " & ex.ToString)
			Return New Point(0, 0)
		End Try
	End Function


	Private Sub DrawLine(FromControl As Integer, ToControl As Integer)
		If (FromControl < 1 Or FromControl > DrawControls.Count) Or (ToControl < 1 Or ToControl > DrawControls.Count) Or (FromControl = ToControl) Then Exit Sub
		Dim LineStart As Point, LineEnd As Point
		LineStart = GetCenterControlOnForm(DrawControls(FromControl - 1))
		LineEnd = GetCenterControlOnForm(DrawControls(ToControl - 1))
		CreateGraphics.DrawLine(New Pen(Color.DarkSalmon, 2), LineStart, LineEnd)
	End Sub

	Private Sub BtnCheck_Click(sender As Object, e As EventArgs) Handles BtnCheck.Click
		If Not IsNumeric(Tb1.Text) Then Exit Sub
		CreateGraphics.Clear(BackColor)
		If IsNumeric(TextBox1.Text) Then DrawLine(Tb1.Text, TextBox1.Text) Else Exit Sub
		If IsNumeric(TextBox2.Text) Then DrawLine(TextBox1.Text, TextBox2.Text) Else Exit Sub
		If IsNumeric(TextBox3.Text) Then DrawLine(TextBox2.Text, TextBox3.Text) Else Exit Sub
		If IsNumeric(TextBox4.Text) Then DrawLine(TextBox3.Text, TextBox4.Text) Else Exit Sub
		If IsNumeric(TextBox5.Text) Then DrawLine(TextBox4.Text, TextBox5.Text) Else Exit Sub
		If IsNumeric(TextBox6.Text) Then DrawLine(TextBox5.Text, TextBox6.Text) Else Exit Sub
		If IsNumeric(TextBox7.Text) Then DrawLine(TextBox6.Text, TextBox7.Text) Else Exit Sub
		If IsNumeric(TextBox8.Text) Then DrawLine(TextBox7.Text, TextBox8.Text) Else Exit Sub
		If IsNumeric(TextBox9.Text) Then DrawLine(TextBox8.Text, TextBox9.Text) Else Exit Sub
		If IsNumeric(TextBox10.Text) Then DrawLine(TextBox9.Text, TextBox10.Text) Else Exit Sub
		If IsNumeric(TextBox11.Text) Then DrawLine(TextBox10.Text, TextBox11.Text) Else Exit Sub
		If IsNumeric(TextBox12.Text) Then DrawLine(TextBox11.Text, TextBox12.Text) Else Exit Sub 'extra box :)
	End Sub

Bijgevoegde Bestanden


Veranderd door Damic, 06 juli 2020 - 19:50.


#7 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 06 juli 2020 - 19:42

Heeel mooi , maar....is het vb net?
Ik werk zoals gezegd nog met vb6
Ik zal naar de code toch kijken en proberen iets te begrepen..

Ik heb geen vbNet op mijn pc

#8 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 06 juli 2020 - 19:51

Het is het idee, dat kun je uitwerken in eenderd welke programmeer taal

#9 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 06 juli 2020 - 19:58

Inderdaad.
Zeer Bedankt, Damic. Il zal zeker proberen.

#10 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 06 juli 2020 - 20:10

En je kan altijd Visual Studio 2019 Community eens proberen ;)

#11 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 11 juli 2020 - 17:32

En heb je er iets mee kunnen doen?

#12 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 13 juli 2020 - 11:14

Niet allemaal, Danic; want ik kon  de code  niet vertalen van vbNet naar vb6. Ik heb geprobeerd maar in ben niet bezig met vbNet.
Ik heb de logica en structuur van uw code volledige begrepen, het was mooi en bondig en ik wou, maar ik kon het niet vertalen of converteren.
Ik verzeker u dat  bezig ben geweest maar kon niet lukken.  En ik kon ook aan niemand vraag om dat te converteren.....

ps. ik heb ook (tidelijk) vb2010  geïnstalleerd op een laptop en gezien dat uw code werkt werkt ondanks een paar raar  errors over Framework enz.
Ik wou enkel een van mij oude programma vb6 uitbreiden

Spijtig dus da ik een zo mooi en werkend code niet kan gebruiken.
Toch bedankt voor uw moetie

#13 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 896 berichten
    Laatst bezocht 31 jan 2025 21:58
  • LocatieMechelen (BE)

Geplaatst op 13 juli 2020 - 18:56

Tja je zou ook je programma kunnen omzetten naar vb.net en vb6 laten voor wat het is :)

#14 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 181 berichten
    Laatst bezocht 02 apr 2024 15:55

Geplaatst op 13 juli 2020 - 19:41

ja, maar ik moet eerste goed leren vbNet om dat te doen.
Die nieuw routine/programma was te integreren in een ander, bestaand programma in vb6.
Ik wou dus zo een routine toevoegen om die oude  programma te uitbreiden.

Goed. Ik zal uw code zeker goed bewaren e nog studeren.
Nogmaals dank.





Ook met taq VB6 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VB6] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)