18. august 2007 - 12:37Der er
38 kommentarer og 1 løsning
Hjælp til søgefunktion omkring chk-bokse
Hej. Jeg er ved at lave en lille formelsamling til eget brug. Idéen er, at hvert bogstav i alfabetet har sin egen chk-boks. Når man så vil finde en formel, krydser man alle de "bogstaver" af, som man umiddelbart kan huske fra formlen. Eksempel: Jeg skal finde formlen for rumfanget af en cylinder. Jeg kan huske noget med højde og radius. Jeg krydser så af i "h" og "r" og trykker søg. Så skal alle formler med, hvor h og r vises i en txt-box.
Spørgsmålet til jer er så, hvordan jeg laver denne søgning nemmest. Jeg er ikke super hardcore til VB, så evt. svar bedes formuleres uden alt for meget indsiderviden!
Hvad mener du med identificerende værdier? chk-box for "a" hedder fx chka. Er det det du mener?
Jeg kan godt se, at det ville være nemmere med textboxe, jeg kan bare godt lide idéen med chk-boxe. Men altså, hvis det ikke er muligt at bruge den, må jeg jo bruge textboxe istedet.
Men hvordan kan textboxe så benyttes? Skrives alle tegnene bare i samme textbox, eller skal man lave en 5-6 stykker til hvert tegn?
.. og hvordan kan jeg adskille formlerne med linjeskift når de vises i tbxFormler? Lige nu vises de bare i forlængelse af hinanden med 2 sorte streger imellem. Vil som sagt gerne have dem til at stå på linjen under. :-)
Læg mærke til at du nu SKAL angive hvilken array den skal arbejde med.
Hele funktionen er her:
Function findformler(valgte_array As Variant, valgte_bogstaver As String) Dim arrBogstaver arrBogstaver = Split(valgte_bogstaver, " ")
Dim i, j, formel, retur, fundet retur = "" For i = LBound(valgte_array) To UBound(valgte_array) formel = valgte_array(i)
fundet = True For j = LBound(arrBogstaver) To UBound(arrBogstaver)
If InStr(formel, arrBogstaver(j)) = 0 Then fundet = False Exit For End If
Next If fundet = True Then retur = retur & formel & vbCrLf Next
If retur = "" Then retur = "Der blev ikke fundet nogen formler med de indtastede bogstaver."
findformler = retur End Function
2) Grunden til at der kommer sorte streger/firkanter er, at du prøver på at indsætte linieskift i en textbox, der ikke har multiline slået til. Derfor: - Marker tbxFormler - Kig under dens Egenskaber (eller Properties), som plejer at være i højre side af skærmen - Find "MultiLine" og sæt vædien til "True" (eller "Sand")
Når du har gjort det, vil du kunne skrive på flere linier. Men læg mærke til, at du ikke får en scrollbar, når du skriver mange linier. Det skal du selv slå til. Derfor: - Marker "ScrollBars". Herefter vælger man typisk værdien "2-Vertical" for en lodret scrollbar. Du bestemmer selv hvilken af de 4 værdier du vil bruge.
Jeg forstår ikke, hvordan jeg skal angive, hvilken array den skal arbejde med? Skal jeg sætte den nye funktion ind, så der er 2 funktioner? Og hvor skal kaldet hen? Skal det være sammen med det "gamle kald"?
Jeg forstår det med multiline og scrollbars, men hvad hvis jeg vil have "en linje luft" mellem formlerne som findes?
Jeg har erstattet den nye funktion med den gamle, og sat det nye kald ind i stedet for det gamle. Det virker, men nu finder den ikke formlerne i de "gamle arrays". Forstår ikke, hvordan jeg vælger.
Angående linjeskift, så er jeg helt med her nu! Tak! :-)
Jeg vil helt klart anbefale, at du låner en bog på biblioteket, om programmering i VB.. så famler du ikke i blinde..
Du kan hurtigt komme forbi "rookie"-niveaut, og til "øvet" / "god", hvis du sætter dig ned, og læser om emnerne..
Enhver "gennemsnitlig" programmør, burde have kunne lave de her ting selv, da det faktisk er simple ting man arbejder med..
Der burde være nogle gode bøger på biblioteket.. hvis der ikke er det, kan du evt. købe en bog, som andre (f.eks. her på Eksperten - du skal bare spørge) anbefaler..
Hvis du ikke vil bruge penge på bøger, kan du nemt finde en masse tutorials på nettet.. Du skal bare søge på ord som f.eks. "vb tutorial" eller "visual basic tutorial".. så er det bare at læse så mange tutorials som muligt.. :-)
Jeg vil helt sikkert prøve biblioteket. Jeg har kun lige snuset til VB på HTX, men vores lærer var ikke ordentlig kvalificeret til at undervise i Programmering.
Det er de squ aldrig.. man kan altid fange dem på det forkerte ben i et eller andet.. :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.