30. juli 2003 - 10:58Der er
8 kommentarer og 1 løsning
VB6: Public array - ikke tilladt, hvordan så?
Dav.
Jeg har en form(!!) med to knapper på. Knap 1 = åben en tekstfil, indlæse hver linie i et array (textline(linienr)). Ca 50.000 linier, virker fint. Arrayet defineret som Dim textline(50000) as String Knap2 skal outputte indholdet til en ny tekstfil, for de linier som indeholder en bestemt streng. Når jeg i knap2's procedure forsøger at læse textline(1) er den tom (og de øvrige ligeså) Aha - Jeg prøver at skrive Public textline(50000) as String. Så får jeg en compile-error, not allowed as public member of object modules I følge dokumentation kan man godt skrive f.eks. public noget(50) as integer
Hvad er det lige jeg misser af væsentlig pointe her?
Sådan er det bare: Constants, arrays, fixed length strings, user defined types not allowed as public members of object modules.
Men du kan godt erklære en streng. Du kan så gøre brug af split ordren s="1,2,3,4" A=split(s,",") nu er A(0)=1, ... A(3)=4 t=join(A,",") nu er t=s På den måde kna du sikkert holde styr på dine textlinier
Koden som "bor" i din form? Det giver fejlen. Jeg har testet det. Prøv at lægge den i et modul eller brug en lang tekst-streng til det hele. Du kan jo som jeg viser let splitte op i en tabel, når du blot bruger passende skilletegn
VB er meget langsom til at håndtere store tekststrenge, og det er ikke altid lige let at optimere. Hvis man skal addere to lange tekststrenge kan man så vidt jeg husker (jeg er ikke helt sikker) med fordel gøre sådan: Dim A(1) as string A(0)=txt1 A(1)=txt2 s=join(A,"") nu er s=tx1 & txt2
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.