14. februar 2004 - 21:58Der er
14 kommentarer og 2 løsninger
VB Visio opgave; autoopdatering af numre i wire-diagram
Hej VB eksperter
Jeg er VB noob og har brug for hjælp til en lille opgave:
I Visio 2003 Prof har jeg et objekt der representerer en maskine (simpelt rektankel) med 2 teksfelter og 4 connectionpoints. Det ene tekstfelt er maskinen navn, og det andet er maskinens nummer (4 cifret positivt tal). Det jeg så gerne vil er følgende: Hvis en connection bliver lavet til det første connectionpoint skal der dukke et nummer (kabelnummer) op ved linien med følgende format; xxxx01 hvor xxxx er maskinnummeret - eks 124301. Hvis der laves en connection til point 2, skal der så dukke endnu en tekst op med nummere 124302 osv.
Og da jeg er total nybegynder med VB, skal jeg have det ind med store skeer; Skal det ind som makro, i VB editoren (og i så fald - hvorhenne).
Her er så den absolutte begynderversion :o) Start et nyt projekt i VB. Tilsæt 2 teksboxe (Navne: txtnavn, txtnr) 4 label's (Navne: label1, label2...) 4 commandbuttons (Navne: cmdcon1, cmdcon2...) Kopiér nedenstående kode ind kodevinduet og tryk F5 :o)
Dim con1 As Boolean Dim con2 As Boolean Dim con3 As Boolean Dim con4 As Boolean Dim navn Dim nr
Private Sub cmdcon1_Click() If con1 = True Then con1 = False Label1 = "slukket" Else con1 = True Label1 = CStr(txtnr & "01") End If End Sub Private Sub cmdcon2_Click() If con2 = True Then con2 = False Label2 = "slukket" Else con2 = True Label2 = CStr(txtnr & "02") End If End Sub Private Sub cmdcon3_Click() If con3 = True Then con3 = False Label3 = "slukket" Else con3 = True Label3 = CStr(txtnr & "03") End If End Sub Private Sub cmdcon4_Click() If con4 = True Then con4 = False Label4 = "slukket" Else con4 = True Label4 = CStr(txtnr & "04") End If End Sub
Og hvis muligt skal scriptet binde sig til et object - så man kan kopiere det, og stadig beholde funktionaliteten (i tegningen vil der være ca 100 objekter)
Lidt svært at simulere en tilslutning uden knapperne... Hvis du ikke selv kan få noget ud af ovenstående, tror jeg du skal starte med at læse en bog om brugen af VB :o) Det nytter jo ikke noget bare at få løsningen serveret, hvis du ikke fatter en brik af hvad koden gør. Du skriver 12:07:52 :
'Kan man ikke lave den uden knapper? Så den hele tiden validerer connectorerne, og skriver "" hvis der ikke er noget på connectorerne?'
Med hensyn til "" så ret alt "slukket" til "" så er den på plads. Hvis du bruger en timer kan du jo få den til at kontrollere så tit du vil. Jeg skal gerne prøve at lave et eksempel mere senere.
Jeg tror der skal andre folk på banen. Jeg kan simpelthen ikke se hvordan du vil have løst opgaven. Hvad skal 'trigge' en connection? Hvordan vil du have plads til 100 objekter på skærmen? Hvordan vil du beslutte hvilke objekter der skal være koblet til hvor? Altså 'Maskine1', 'Connection1' skal sidde på 'Maskine3', 'Connection2' således at der dannes connection på 2 steder... Eller er det mig?
Den er tilsyneladende for hård en nød at knække. Du må komme med meget mere information hvis _jeg_ skal have en chance.
Prøv at se mit eksempel her: http://www.frewald.dk/ob4/Eksempel1.htm Jeg prøver bare at undgå at skulle skrive kabelnumre hele tiden, da der bliver MANGE af dem :)
Nu siger du pludselig at du får plads på et papir... Hvad er det egentlig du vil have? Hvis du bare vil have skrevet videre på dit eksempel kan dette gøres i eks. Excel. I NEED THE INFO. THROW ME A FREAKING BONE HERE. :o)
Hmmm og stave kan jeg heller ikke :) Har du set mit eksempel? Jeg sidder og skal tegne mere end 2000 ledninger der hver har et 6-cifret nummer, ind i et diagram - så det er vigtigt for mig at optimere arbejdsprocessen
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.