abonnement Unibet Coolblue Bitvavo
pi_29325265
Als ik het zo snel doorlees kan je directories listen..
Lambo of Rekt
pi_29325463
quote:
Op maandag 1 augustus 2005 15:12 schreef Chandler het volgende:
Ik heb de volgende functie (sub)
[ code verwijderd ]

nu kan ik deze functie uitlezen door
[ code verwijderd ]

maar wat kan ik dan doen met test?
Hehe, niets . Het is een variant; varianten zijn eigenlijk rotzooi, 't kan alles zijn. Niet beledigend bedoeld, maar dit is zéér slecht geprogrammeerd: varianten moet men -eigenlijk altijd- zien te vermijden: ze zijn traag, slurpen geheugen en het programma kan er vrij weinig mee.

Ik weet niet zeker of Collections, 'strings' kunnen bevatten. Waarschijnlijk blijkbaar niet, anders zou deze programmeur geen variant hebben gebruikt.

Als ik u zou zijn, zou ik óf het FileSystemObject gebruiken, zoals in een eerdere reactie uitgelegd, óf een Klasse maken (bv. clsFile met i.i.g. de Publieke eigenschap Path). In plaats van "File as variant" te defineren, defineert u het nu "as clsFile". Vergeet niet:
1) Altijd File.Path te lezen en te vullen. Dus zoals in deze functie staat "File = bla..." moet worden "File.Path = bla...".
2) Het object in deze functie hergebruiken moet even wat anders: niet zomaar File = dir$, maar:
1
2
set File = new clsFile '(dit=deze regel moet ook even direct na de definitie van File geplaatst worden!)
File.path = dir$


Als terugwaarde van de Functie hebt u dan een Collectie, gevuld (of niet natuurlijk) met clsFile objecten, wiens bestandspad u kunt uitlezen met de Path-eigenschap van elk zo'n object.

Maar dit is maar één van de vele oplossingen .
pi_29325758
Ook gelijk bedankt voor de layout fuck
Lambo of Rekt
pi_29325812
quote:
Op maandag 1 augustus 2005 15:36 schreef EggsTC het volgende:
Ook gelijk bedankt voor de layout fuck
Ja, dat is Foks probleem, hoor . Moeten ze maar een stijl kiezen die de volle ruimte van het venster benut.
pi_29329013
Het is dus om het even in het kort uit te leggen de bedoeling om een tree uit te lezen, ik dacht dat een functie daarvoor best handig zou zijn.

Ik ga zelf eens een functie proberen te maken...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_29329269
Een functie is prima handig .

U bedoelt een repeterende functie die mappen in een treeview plaatst en oneindig diep kan gaan?

Dan zult u een functie moeten schrijven die bestaat uit:
1) Een parameter byval "Path as string"
In de functie
2) De inhoud van de map "Path" doornemen met zo'n zelfde While-lus als in de vorige broncode en dan bij elke iteratie van een map dezelfde functie nóg eens aanroepen, maar dan met als Path, de map van de betreffende iteratie.

Als dit niet werkt, zou het wel moeten lukken door éérst een aparte collectie met die mappen te maken (dus in de lus, niet weer de functie aanroepen, maar toevoegen aan een collection) en nadat de lus klaar is, voor elk onderdeel uit de collectie nog eens de functie aanroepen.
pi_29330187
Ik heb nu het volgende geprobeerd; maar krijg steeds een error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Sub process()

Dim xxx As String

 Set test = readTree(projForm.fromDir.path, _
             projForm.settingEXTvalue.Text, _
             xxx)
    
End Sub

Public Function readTree(ByVal path As String, ByVal extensions As String, ByVal fbase As String)

    FileName = Dir(path & extensions)
    Do While FileName <> ""
        filenames.Add path & FileName
        FileName = Dir
    Loop

End Function


waar ga ik de mist in? ik ben niet zo'n VBer heb ik al wel door
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_29331547
- U moet kiezen wat je terug wil hebben van de functie Readtree; dit doet men door achter de haakjes van de functie 'as (type)' te plaatsen (zonder apostroffen).
- U moet Test "dimmen" (=defineren) as hetzelfde type als in de zin hierboven.
- U moet Filenames eerst dimmen als collectie en dan "Set Filesnames = new collection"; daarna pas de rest van de function ReadTree
- U moet ergens in de functie ReadTree bepalen wat u terug wilt hebben ("ReadTree = bla" óf "Set ReadTree = bla" als het om een object gaat).
- Wat wilt u met fBase doen?

't Is moeilijk zo even uit te leggen (ik moet zo ook nog eens weg), maar als ik u was, zou ik eens kijken op www.planet-source-code.com of een dergelijke stek; daar zijn veel programma's met broncode and tips te vinden.

VB is lastig in het begin; zeker de opgave die u uzelf oplegt, vergt wat meer ervaring en denkwerk dan waar de gemiddelde beginner mee begint .

Ik zou zeggen: probeer eens een tekstverwerker. In VB 6 zit een application wizard. Kies daaruit "MDI" en u krijgt een basis tekstverweker voorgeschoteld. Probeer die eens uit te breiden (behalve vet, cursief en onderstreept kan bijv. ook nog doorhaald=strikethrough, kleuren, objecten invoegen, sub-/superscript). Daar had ik veel van geleerd . Maar al met al doet u het prima .
pi_29350531
Ik ben meer van de winsock kant
Lambo of Rekt
  dinsdag 2 augustus 2005 @ 13:00:18 #60
123792 JanMichiel
Melk, de witte motor!
pi_29355769
Ik heb er nog eentje. Ik gebruik een textbox als activity log. Voor het toevoegen van een nieuwe entry plak ik de content achter de bestaande content.

txtLog.text = txtLog.text & "Een nieuwe entry voor het log" & vbCrLf

Wanneer de tekstbox volzit zijn nieuwe items echter niet meer zichtbaar wanneer ze worden toegevoegd. Hoe zorg ik dat de laatste items zichtbaar blijven en de bovenste items wegvallen?

mmh, ik realiseer met net dat ik het ook andersom kan programmeren, nieuwe items bovenaan toevoegen. Maar het anderwoord op deze vraag zou wel handig zijn
pi_29357332
txtLog.selstart = len(txtlog.text)
O, vbNewline blijkt sneller te zijn dan vbCrLf; scheelt honderdsten van milliseconden, maar ach: ik zeg het toch maar even .

P.S. Ik zou een RTF box willen aanraden, want volgens mij heeft die geen grens van hoe lang de tekst mag zijn terwijl alle textboxen iets meer dan 35000 tekens mogen bevatten.
pi_29357552
chr$(10) & chr$(13) is nog sneller toch?
Lambo of Rekt
  dinsdag 2 augustus 2005 @ 14:16:03 #63
123792 JanMichiel
Melk, de witte motor!
pi_29358214
Waar staat RTF voor?
pi_29358429
quote:
Op dinsdag 2 augustus 2005 13:56 schreef EggsTC het volgende:
chr$(10) & chr$(13) is nog sneller toch?
Ik geloof het niet want dan moet er op twee plekken in het geheugen gekeken worden (voor teken 10 en voor 13) terwijl vbNewline al gedefineerd is als 10 en 13 tezamen.

Ik heb ook maar ergens gelezen dat vbNewline het snelst is, samen met andere tips zoals altijd de $-varianten van commando's gebruiken wanneer mogelijk (mid$ i.p.v. mid, enz).

===
RTF staat voor Rich Text Format; een tekstopmaakformaat. MS heeft een control gemaakt dat dit formaat ondersteunt. Met RTF kan men tekst een kleurtje geven, vetdrukken, enz; net als Word en andere beter-dan-Kladblok-tekstverwerkers.
pi_29358719
quote:
Op dinsdag 2 augustus 2005 13:50 schreef Xsysstar het volgende:
txtLog.selstart = len(txtlog.text)
O, vbNewline blijkt sneller te zijn dan vbCrLf; scheelt honderdsten van milliseconden, maar ach: ik zeg het toch maar even .

P.S. Ik zou een RTF box willen aanraden, want volgens mij heeft die geen grens van hoe lang de tekst mag zijn terwijl alle textboxen iets meer dan 35000 tekens mogen bevatten.
+ dat het opslaan vanuit rtf kinderlijk eenvoudig is: rtftxt.savefile "C:\mijnbestand.doc"
La derecha oprime, la izquierda libera
  dinsdag 2 augustus 2005 @ 23:00:16 #66
52513 whosvegas
The Trickster
pi_29374985
quote:
Het is een variant; varianten zijn eigenlijk rotzooi, 't kan alles zijn. Niet beledigend bedoeld, maar dit is zéér slecht geprogrammeerd: varianten moet men -eigenlijk altijd- zien te vermijden: ze zijn traag, slurpen geheugen en het programma kan er vrij weinig mee.
In sommige situaties zijn variants wel zinvol. Je kan er nl flexibele code mee schrijven, voorbeeldje:
1
2
3
4
5
6
7
8
9
function Convert(var as variant) as integer
     Select case vartype(var)
          case vbInteger
                'conversie code voor integers
          case vbString
              'conversie code voor strings
          case vbDouble
                'conversie code voor doubles
end function

Dus je kan een functie schrijven om verschillende typen variabelen af te handelen.
quote:
Ik weet niet zeker of Collections, 'strings' kunnen bevatten.
Strings kun je wel opslaan in een collection, geloof ik. Ik maak meestal gebruik van array's ipv collections
Are you nuts??
pi_29384346
Ik probeer een telnet applicatie na te bootsen met VB6.

Nu heb ik dus een simpel dingetje gemaakt met winsock en een output window. Winsock connect op de speedtouch 510 router naar port 23.. krijg wat onzin terug, en daarna mooi een wachtwoordje in mn outputwindow. Commando's zenden naar de router werkt ook ok, gewoon met senddata text1.text.

Dit is getest op een speedtouch 510 en een Siemens5830 router. Op beide routers krijg ik wat onzin (blokjes, vage tekens) terug maar ook normale tekst zoals "Username : ". Dit werkt dus voor de rest OK.

Probleem is wanneer ik een VoDSL router benader(de RAD's LA-110) dan krijg ik alleen maar onzin terug, zonder normale tekst. Eigelijk alleen blokjes en sterretjes en ascii figuurtjes. Kan het zijn dat het een encryptie is die op die router zit? Want als ik 'gewoon' telnet ernaartoe dan krijg ik wel een PASSWORD prompt... iemand enig idee?
Lambo of Rekt
pi_29390598
niemand?

Edit :

Alle termtypes werken wel op telnet, dus daar zou t ook neit aan liggen,.. zoals VT100, VT52 etc.

[ Bericht 43% gewijzigd door EggsTC op 03-08-2005 14:08:20 ]
Lambo of Rekt
pi_29402220
quote:
Op woensdag 3 augustus 2005 13:53 schreef EggsTC het volgende:
niemand?

Edit :

Alle termtypes werken wel op telnet, dus daar zou t ook neit aan liggen,.. zoals VT100, VT52 etc.
Ik denk dat je je vraag beter kan stellen op:
gathering.tweakers.net

Want je stelt wel een hele specifieke vraag, imand moet net toevallig met hetzelfde bezig zijn.
Are you nuts??
pi_29407117
Ben er al achter, als je een char 1 terug krijgt met een winsock.. sla m over bij het invoegen van je textbox.. keyascii 1 zorgde ervoor dat ik de helft van mn werkelijke indata maar terug kreeg in mn textbox. dont ask.

Geen idee waarom.. maar heb het step by step zitten bekijken en die indata zitten parsen totdat ik erachter kwam
Lambo of Rekt
pi_29420137
quote:
Op woensdag 3 augustus 2005 22:16 schreef EggsTC het volgende:
Geen idee waarom.. maar heb het step by step zitten bekijken en die indata zitten parsen totdat ik erachter kwam
ASCII tekens 1 - 20 (geloof ik) zijn besturingstekens en kunnen dus worden verwerkt als iets anders dan gewoon een letter. Bijvoorbeeld nummer 10 en 13 (Enter).

P.S. Ik was er gisteren niet, spijt me dat ik toen niet kon antwoorden .
  donderdag 4 augustus 2005 @ 13:01:59 #72
123792 JanMichiel
Melk, de witte motor!
pi_29421838
Nog iets waar ik niet uitkom, deze is een beetje moeilijker .

De input is data in een RichTextBox. De data heeft het volgende formaat:

Mon Nov 8 05:01:18 2004, 30747408, 30742991, ABC, DEF, 10000, 1.29435, 0.0000 , 0.00
Mon Nov 8 05:01:41 2004, 30747434, , GHI, JKL, 10000, 1.29520, 1000.1393 , 0.00
Mon Nov 8 05:01:50 2004, 30747450, 30742991, MNO, PQR, 10000, 1.29520, 1000.1393 , 501.35
Mon Nov 8 05:02:24 2004, 30747741, , STU, VWX, 500, 1.29520, 0.0000 , 501.35
etc, etc.

Items zijn gescheiden door een comma. Waarschijnlijk moet de input lijn voor lijn worden uitgelezen en items achter een comma in een nieuw veld worden geplaatst. De tabel met juiste velden is reeds gecreeerd, maar hoe krijg ik de verschillende items in de aparte cellen?


Private Sub UpdateData()
Dim dbAccountData As Database
Dim rsAccountUpdate As Recordset
Set dbAccountData = OpenDatabase("AccountData.mdb")
Set rsAccountUpdate = dbAccountData.OpenRecordset("AccountX")


...
...


End Sub
pi_29421953
Volgens mij kon dat dmv:
rsAccountUpdate!Veldnaam = Veldwaarde
(Dus i.p.v. een punt, een uitroepteken).

Verder zou ik willen aanraden het databaseobject algemeen te defineren (modulair; buiten deze specifieke sub), want dat maakt het programma sneller omdat de database maar eenmalig geladen hoeft te worden.

P.S. Ik weet niet superveel van databases .
  donderdag 4 augustus 2005 @ 13:24:23 #74
123792 JanMichiel
Melk, de witte motor!
pi_29422139
Ik heb de database in een module gedefineerd, dit was enkel voor de duidelijkheid van het voorbeeld . Ik snap echter niet helemaal hoe ik de Veldwaarde uit de string moet trekken, gewoon de comma opzoeken met InStr() en dit elk veld in aparte variabelen plaatsen? Of kan dat beter op een andere manier?

En hoe kan ik de input lijn voor lijn behandelen? Is er een bepaalde manier om via een Loop elke keer met de volgende regel van de input te werken?
pi_29422771
-Dubbel0
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')