[vb .NET] string met integer vergelijken

Pagina: 1
Acties:
  • 238 views sinds 30-01-2008
  • Reageer

  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
ik heb een ID van lengte 10 uit een stuk text gehaald, dit ID bestaat uit cijfers. echter heeft een wisselende lengte, ik wil nu dus de laatste tekens die niet bij de ID horen eraf halen. daarvoor t volgende loopje gemaakt. echter VB kan niet een string vergelijken met een integer zegt hij

code:
1
2
3
4
5
6
7
8
9
10
        For z = 1 To 10
            For x = 0 To 9
                lengte = Len(ID)
                If Mid(ID, lengte, 1) = x Then
                    GoTo IdAf
                End If
            Next
            ID = Mid(ID, 1, 10 - z)
        Next
IdAf:



verder de vraag of t principe goed is of dat ik beter een andere manier kan gebruiken om de ID te trimmen.

“An elephant is a mouse with an operating system”


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Goto????????????????

't is geen GW-Basic :?

En wat heb je als tekens? Zijn het spaties? Zo ja, dan heb je een trim functie.

Verder kan je door middel van een regular expression ook controleren of het een getal is of niet.

Als het allemaal cijfers zijn, maar het datatype is string, kan je int32.parse gebruiken.

[ Voor 112% gewijzigd door gorgi_19 op 18-06-2003 22:28 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Casten is todays magic word.

Check de Convert class eens ofzo.

[ Voor 40% gewijzigd door whoami op 18-06-2003 22:27 ]

https://fgheysels.github.io/


  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
gorgi_19 schreef op 18 juni 2003 @ 22:26:
Goto????????????????

't is geen GW-Basic :?

En wat heb je als tekens? Zijn het spaties? Zo ja, dan heb je een trim functie.

Verder kan je door middel van een regular expression ook controleren of het een getal is of niet.

Als het allemaal cijfers zijn, maar het datatype is string, kan je int32.parse gebruiken.
okej, ik kan ook exit gebruiken, maar voor t gemak heb ik IDaf gebruikt :)

code:
1
<tbody><tr><td rowspan=2><a href="/browse.php?id=165768"><b>007faith</b></a></td>


uit 'zo'n regel moet ik dus ID halen en username
in dit geval dus 165768 en 007faith
echter username en id kunnen van lengte verschillen.
als ik het ID eruit heb weten te halen is de rest een kwestie van karakters tellen, en dan met de mid functie.

is t volgende een optie:

for i = 1 tot 10
if id <> cijfer then
id= id- laatste teken
else
id=goed
uit de for/next loop
end if
next i

of is dit niet te verwezenlijke met visual basic?

“An elephant is a mouse with an operating system”


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Visual Basic .NET:
1
2
3
4
5
try
    Int32.Parse(Request.Querystring("id"))
catch ex as exception
    Throw ex
End try


Maar waarom gebruik je vb.net? 'k heb het idee dat je ergens bij VB3 bent blijven hangen, qua technieken...

VB.Net ondersteunt goed OO, inclusief methods, classes, etc....

'k heb nu het idee dat je met alle mogelijke geweld probeert om hier onderuit te komen.

[ Voor 122% gewijzigd door gorgi_19 op 18-06-2003 22:41 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
elephtera schreef op 18 juni 2003 @ 22:36:
[...]


okej, ik kan ook exit gebruiken, maar voor t gemak heb ik IDaf gebruikt :)
't Is maar wat je gemakt noemt.
Na enkele aanpassingen zie je gewoon je weg niet meer in al je spaghetti-code.
Goto's zijn evil en zou je nooit - never - jamais mogen gebruiken.

https://fgheysels.github.io/


  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
nee niet blijven hangen in VB3, wel in VB6. dit is een beetje het eerste wat ik maak in VB .net, normaal gebruik ik ook nooit goto codes. t kwam me nu wat beter uit, en ik kon zo 123 niet op de code komen die uit de dubbele for/next loop stapt.

en waarom ik vb .net gebruik? van vb6 had ik geen documentatie. en ik had een uitgekleedde versie, en vb .net kon ik via mijn pa goedkoop aan komen. en msdn levert veel informatie met dat april pakket van hun.

“An elephant is a mouse with an operating system”


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
elephtera schreef op 18 juni 2003 @ 22:48:
nee niet blijven hangen in VB3, wel in VB6. dit is een beetje het eerste wat ik maak in VB .net, normaal gebruik ik ook nooit goto codes. t kwam me nu wat beter uit, en ik kon zo 123 niet op de code komen die uit de dubbele for/next loop stapt.

en waarom ik vb .net gebruik? van vb6 had ik geen documentatie. en ik had een uitgekleedde versie, en vb .net kon ik via mijn pa goedkoop aan komen. en msdn levert veel informatie met dat april pakket van hun.
Blijkbaar heb je dan nog niet echt de moeite genomen om VB.NET ook echt te gaan leren.
Ik kan je niks anders aanraden dan een goed boek erover te kopen, en te studeren.

https://fgheysels.github.io/


  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
dat klopt, ik nam aan dat vb .net gewoon grotendeels t zelfde zou zijn als vb5 of 6. echter veel dingen zijn anders. teveel dingen.
de basis heb ik allemaal al wel, alleen t dieper er op ingaan nog niet. maar k ga morgen wel ff verder ploeteren, alvast bedankt voor de duw in de goede richting.

“An elephant is a mouse with an operating system”


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Ik denk dat je de basis net nog niet hebt.

VB.NET lijkt in de verste verste niet op VB6. Het enige wat ze met elkaar gemeen hebben is hier en daar wat syntax-gelijkenissen.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

elephtera schreef op 18 June 2003 @ 22:53:
dat klopt, ik nam aan dat vb .net gewoon grotendeels t zelfde zou zijn als vb5 of 6. echter veel dingen zijn anders. teveel dingen.
de basis heb ik allemaal al wel, alleen t dieper er op ingaan nog niet. maar k ga morgen wel ff verder ploeteren, alvast bedankt voor de duw in de goede richting.
Het enige wat overeenkomt met vb6 is wat syntax overeenkomsten. Helaas hebben ze alle brakke methodieken als goto er in gelaten.

De compleet achterliggende gedachten van VB.Net lijkt voor geen meter op VB6. Imho kan je als VB'er net zo goed C# als VB.Net leren. Dit om aan te geven hoe groot de verschillen zijn.
elephtera schreef op 18 juni 2003 @ 22:53:
de basis heb ik allemaal al wel, alleen t dieper er op ingaan nog niet. maar k ga morgen wel ff verder ploeteren, alvast bedankt voor de duw in de goede richting.
Erhm.. Dit is niet bot bedoeld, maar volgens mij mis je die volledig voor VB.Net. Je kan het vergelijken dat je denkt da je de basis van frans kent als je het boekje "Hoe-en-wat-in-het-Frans" in je rugzak hebt zitten. De volledige grammatica, woordenschat, etc. mis je.

[ Voor 30% gewijzigd door gorgi_19 op 18-06-2003 22:57 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Zoiets?

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
        Dim s As String
        Dim result As String
        Dim i As Int32
        i = 0
        s = "007foobar"
        Do While i < s.Length
            If Not Information.IsNumeric(s.Chars(i)) Then
                result = Left(s, i)
                Exit Do
            End If
            i = i + 1
        Loop


overigens gaat dit natuulijk kansloos fout, wanneer je string langer is dan 32000 en een beetje karakters.

en voor de liefhebber
C#:
1
2
3
4
5
6
7
8
            string s = "007foobar";
            string result = String.Empty;
            foreach( char c in s.ToCharArray() ){
                if( !Microsoft.VisualBasic.Information.IsNumeric( c ) ){
                    result = Microsoft.VisualBasic.Strings.Left( s, s.IndexOf( c ) );
                    break;
                }
            }

[ Voor 59% gewijzigd door Verwijderd op 18-06-2003 23:19 ]


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Misschien is het handig om op te merken dat VB.Net behalve qua hoe het er uit ziet weinig met VB6 heeft te maken. Het is meer om het VB-programmeurs makkelijk maken over te stappen naar .Net, hoewel C# eigenlijk toch wel Microsoft's stokpaardje is. Je zou eventueel kunnen overwegen als je toch .Net gaat leren om dan gelijk C# te leren.
Ik snap ook niet waarom ze 'goto' uberhaupt nog hebben opgenomen (ook in C# dacht ik).

Wat betreft je probleem, misschien zoiets (in c#):
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int nr;
string result;
int index = 0;
while(nr!= -1 && index < myStr.Length) {
try {
nr = Int32.Parse(myStr.CharAt(index));
result += nr.ToString();
}
catch {
nr = -1;
}
index++;
}
int myId = Int32.Parse(result);

[ Voor 8% gewijzigd door zoepercavia op 18-06-2003 23:24 . Reden: code met verbetering, dank :) ]

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

zoeper nr kan geen null zijn is namelijk een int dus een valuetype

geen dank

[ Voor 14% gewijzigd door Verwijderd op 18-06-2003 23:36 ]


  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
ik ben van oorsprong een programmeur uit Borland C++, echter de stap naar Visual C++ was voor mij te moeilijk, de boeken ervoor waren niet op de markt, terwijl ik door office macro's al iets van visual basic wist. vandaar dat ik oorspronkelijk met Basic bezig ben gegaan.
ik maak dit programma af in Basic, en dan ga ik wel C# proberen te leren. dan is dus de vraag, in hoeverre kan ik met mijn C++ kennis overstappen op visual C#? want zoals ik begrijp uit jullie commentaren zijn de verschillen tussen VB6 en vb.net gigantisch. toch heb ik daar tot nu toe weinig last van gehad, en is voor mn gevoel veel t zelfde. hebben jullie nog tips mbt het aanleren van C#?

5371, dankje, daarmee zou t moeten lukken. ga t gelijk proberen

“An elephant is a mouse with an operating system”


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
elephtera schreef op 19 June 2003 @ 09:26:
ik ben van oorsprong een programmeur uit Borland C++, echter de stap naar Visual C++ was voor mij te moeilijk, de boeken ervoor waren niet op de markt, terwijl ik door office macro's al iets van visual basic wist. vandaar dat ik oorspronkelijk met Basic bezig ben gegaan.
ik maak dit programma af in Basic, en dan ga ik wel C# proberen te leren. dan is dus de vraag, in hoeverre kan ik met mijn C++ kennis overstappen op visual C#? want zoals ik begrijp uit jullie commentaren zijn de verschillen tussen VB6 en vb.net gigantisch. toch heb ik daar tot nu toe weinig last van gehad, en is voor mn gevoel veel t zelfde. hebben jullie nog tips mbt het aanleren van C#?

5371, dankje, daarmee zou t moeten lukken. ga t gelijk proberen
Ew dit snap ik even niet. Als je in Borland C++ kan programmeren dan kan je toch ook in Visual C++? Er zitten mischien wat andere library's bij die je niet kent maar daar heb je altijd een mooie documentatie voor.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Mjah, Borland C++ Builder is makkelijker om een Windows-app in elkaar te knutselen dan als je hetzelfde wilt doen met VC++.
BCB is een RAD tool, waar je dus je interface in elkaar kunt klikken. Makkelijk, maar het heeft wel als nadeel dat heel wat prutsers denken dat ze dan C++ kunnen en denken dat C++ net als VB is en dus de kracht van C++ niet gaan gebruiken.
VC++ heeft een 'iets' andere aanpak dan BCB en is dan eigenlijk ook niet helemaal 'Visual' te noemen.

https://fgheysels.github.io/


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
whoami schreef op 19 June 2003 @ 09:39:
Mjah, Borland C++ Builder is makkelijker om een Windows-app in elkaar te knutselen dan als je hetzelfde wilt doen met VC++.
BCB is een RAD tool, waar je dus je interface in elkaar kunt klikken. Makkelijk, maar het heeft wel als nadeel dat heel wat prutsers denken dat ze dan C++ kunnen en denken dat C++ net als VB is en dus de kracht van C++ niet gaan gebruiken.
VC++ heeft een 'iets' andere aanpak dan BCB en is dan eigenlijk ook niet helemaal 'Visual' te noemen.
Ja oke. Maar dan kan ik het niet echt C++ noemen. Dan is het gewoon een interfacje in elkaar gooien. Een echte applicatie heb je dan niet geprogrammeerd.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Wil je het echt goed doen, dan komt er wel meer bij kijken dan alleen de UI in elkaar klikken hoor. Same case with Delphi.
(Lees die post van mij nog eens, 'k had het er wel in vermeld dacht ik. ;) )

https://fgheysels.github.io/


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
whoami schreef op 19 June 2003 @ 09:45:
Wil je het echt goed doen, dan komt er wel meer bij kijken dan alleen de UI in elkaar klikken hoor. Same case with Delphi.
(Lees die post van mij nog eens, 'k had het er wel in vermeld dacht ik. ;) )
Ja dat snap ik. Maar ik bedoel dat als je het zo doet dat ik het dan niet echt kan noemen dat je C++ kan.
( Ik ging er wel van uit dat je er ook gewoon goed C++ in kan programmeren, anders zou het wel een ontzettend groot flut pakket geweest zijn :) )

[ Voor 16% gewijzigd door Woy op 19-06-2003 10:01 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Elephtera
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:13
met Borland C++ bedoel ik niet de windows compiler maar echt de oude dos compiler. waarin je dus nog echt zelf de windows moet opbouwen. versie 2 ofzo is dat van de borland compiler. dat is dus weldegelijk echt C++ en niet wat jullie zeggen een interface ff in elkaar knutselen.

en dan mag ik neem ik aan toch wel zeggen dat ik in C++ kan programmeren?!

“An elephant is a mouse with an operating system”


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
elephtera schreef op 19 June 2003 @ 10:03:
met Borland C++ bedoel ik niet de windows compiler maar echt de oude dos compiler. waarin je dus nog echt zelf de windows moet opbouwen. versie 2 ofzo is dat van de borland compiler. dat is dus weldegelijk echt C++ en niet wat jullie zeggen een interface ff in elkaar knutselen.

en dan mag ik neem ik aan toch wel zeggen dat ik in C++ kan programmeren?!
Dan snap ik niet waarom je niet over kon stappen naar Visual C++. Dat je niet meteen weet hoe je je UI in elkaar moet gooien snap ik nog maar dat is allemaal terug te vinden in de documentatie. Maar als je C++ kan dan kan je dat in borland, MS Visual C++ en zelfs in een simpele text editor met losse compiler.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Als je al in C++ kunt programmeren, en je kennis hebt van OO (wat ik toch wel verwacht van iemand die zegt dat hij in C++ kan programmeren), dan moet de overstap naar C# een makkie zijn.

https://fgheysels.github.io/

Pagina: 1