Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Visual C++

Pagina: 1
Acties:

  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Hallo,

Ik wil een programma schrijven met behulp van visual c++. Het moet het volgende doen:
- Haalt een text uit een textbox.
- Zet dit in een string.
- Gaat door de string heen character per character.
- Vervang bepaalde letters voor een andere letter.
- Zet de uitkomst in een andere textbox.

Het verschuiven van het aflabet heb ik aan de hand van arrays. Ik krijg het character per character doorlopen van de string maar niet goed. Dit komt door het overgangen tussen string, character array etc. Het stuk code wat problemen geeft:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private: System::Void convert_btn_Click(System::Object^  sender, System::EventArgs^  e) {
             String^ inputtext;
             int stringlength;
             
             
             //get the text from the inputbox
             inputtext = input_txtbox->Text;
             //get the length of the string
             stringlength = inputtext->Length;
             //get the text from the input box and define char array
             String^ inputtext2 = input_txtbox->Text;
             //iterate through the string
             for(unsigned int i = 0; i<stringlength; i++) {
                 //this is your character
                
                //output_txtbox->Clear();
                //output_txtbox->Text = string(tempchar2);
                }
             
         }


Ik heb geen fout codes. IK krijg het niet goed, heb marshall omzettingen geprobeerd gcnew.... Een andere taal kan ik niet:P alleen wat php en mysql. Kan iemand helpen? Wat moet er in de for loop?

[ Voor 98% gewijzigd door tj.jackel op 21-11-2014 22:09 ]


  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 18:53
Begin eens bij het begin:

Gebruik [ code ][ /code ] tags.
Schrijf *kort* op wat je wil bereiken, en wat er precies niet lukt, en op welke regel het niet lukt.
Schrijf mockup code welke precies je probleem laat zien.

Even niets...


  • Umbrah
  • Registratie: Mei 2006
  • Laatst online: 23:24

Umbrah

The Incredible MapMan

Zou je code tags kunnen gebruiken? Tevens: waar gaat het fout? Wat zijn de errors bij compilen? Is het je wel gelukt in andere talen?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Dat stuk code doet ook gewoon niks. Je declareert wat lokale variabelen en that's it. Wat verwacht je dan dat dit zou doen? :?

Als je die for-loop meetelt: die doet wel wat, maar je wil je char appenden aan de string, niet de string overschrijven met je char...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
ik wil met de for loop door de string van inputtext2 heen gaan character voor character. IK heb vanalles geprobeerd maar kom er niet uit.

  • Rannasha
  • Registratie: Januari 2002
  • Laatst online: 22:20

Rannasha

Does not compute.

tj.jackel schreef op vrijdag 21 november 2014 @ 22:18:
ik wil met de for loop door de string van inputtext2 heen gaan character voor character. IK heb vanalles geprobeerd maar kom er niet uit.
Wat zijn de dingen die je al geprobeerd hebt en waarom werkte ze niet (foutmeldingen, onverwachte resultaten, enz...)

|| Vierkant voor Wiskunde ||


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb nu dit:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private: System::Void convert_btn_Click(System::Object^  sender, System::EventArgs^  e) {
             String^ inputtext;
             int stringlength;
             
             
             //get the text from the inputbox
             inputtext = input_txtbox->Text;
             //get the length of the string
             stringlength = inputtext->Length;
             //get the text from the input box and define char array
             String^ inputtext2 = input_txtbox->Text;
              array<Char>^ chars=inputtext2->ToCharArray();

             //iterate through the string
             for(unsigned int i = 0; i<stringlength; i++) {
                 //this is your character
                 Char^ tempchar = chars[i];
                String ^tempchar2 = gcnew String(tempchar);
                
                output_txtbox->Clear();
                output_txtbox->Text = tempchar2;
                }
             
         }


foutmelding:

Error 3 error C2664: 'System::String::String(const wchar_t *)' : cannot convert parameter 1 from 'System::Char ^' to 'const wchar_t *'

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

tj.jackel schreef op vrijdag 21 november 2014 @ 22:18:
ik wil met de for loop door de string van inputtext2 heen gaan character voor character. IK heb vanalles geprobeerd maar kom er niet uit.
Daarom noemde ik in mijn vorige post ook het toverwoord. ;)
[google=c++ append char to string]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private: System::Void convert_btn_Click(System::Object^  sender, System::EventArgs^  e) {
             String^ inputtext;
             int stringlength;
             
             
             //get the text from the inputbox
             inputtext = input_txtbox->Text;
             //get the length of the string
             stringlength = inputtext->Length;
             //get the text from the input box and define char array
             String^ inputtext2 = input_txtbox->Text;
             array<Char>^ chars = inputtext2->ToCharArray();

             //iterate through the string
             for(unsigned int i = 0; i<stringlength; i++) {
                 //this is your character
                
                String^ tempchar = chars[i]->Append();
                
                output_txtbox->Clear();
                output_txtbox->Text = tempchar;
                }
             
         }


Met de fout code:

Error 3 error C3861: 'Append': identifier not found

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Lees nou eerst die links eens goed door voordat je aan gaat kloten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb nu dit:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private: System::Void convert_btn_Click(System::Object^  sender, System::EventArgs^  e) {
             String^ inputtext;
             int stringlength;
             
             
             
             //get the text from the inputbox
             inputtext = input_txtbox->Text;
             //get the length of the string
             stringlength = inputtext->Length;
             stringlength = stringlength;

             //get the text from the input box and define char array
             String^ inputtext2 = input_txtbox->Text;
             array<String^>^ chars = gcnew array<String^> {inputtext2};

             //iterate through the string
             for(int i=0; i<chars->Length; i++){
                 //this is your character
                 String^ tempchar = gcnew String(chars[i]);
                
                
                
                output_txtbox->Clear();
                output_txtbox->Text = tempchar;

                
                }
             
         }


Nu lijkt het erop dat de string niet gesplitst wordt maar dat de hele tekst in één plek wordt gezet. Als ik namelijk aaa type krijg ik aaa. Ik zou a verwachten omdat de textbox geleegd wordt. Klopt mijn vermoeden?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Omdat je weer niet aan het appenden bent. Je overschrijft steeds je string. Alle tien de resultaten op de Google-link hierboven laten zien wat je moet doen om een char te appenden aan een string. Geen van die voorbeelden cast een char naar een string om vervolgens de gehele string waar je een letter aan wil toevoegen te overschrijven zoals jij doet op regel 25.

Ga gewoon eerst eens even rustig lezen wat er in die documentatie staat. Soms moet je even pas op de plaats maken en iets nieuws leren in plaats van continu je hoofd tegen de muur te slaan.

[ Voor 21% gewijzigd door NMe op 21-11-2014 23:48 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19-11 18:15

Sebazzz

3dp

Wat jij hier voor code schrijft is geen normale C++ maar C++/CLR, dus .NET met C++. Belangrijk verschil ;)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb het appenden bekeken maar hiermee wordt een character achter een bestaande string geplakt. Deze functionaliteit heb ik later in mijn code nodig. Ik wil eerst de string opsplitsen in losse characters zodat ik hier door heen kan gaan met een while of for loop. Ik zie niet hoe ik de append function kan gebruiken om de string op te splitsen in een character array. Maar misschien zie ik wat over het hoofd.

Ik heb nu het bovenstaande in mijn post. Alleen wordt de hele string op één plaats in de array gezet en niet opgesplitst.

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 22:58
Kijk eens goed naar regel 15, want ik vermoed dat het niet doet wat jij denkt dat het doet.
Een korte zoektocht in google op "c++ clr walk through string" levert mij al een goede SO artikel op met echt een stuk of 10 manieren om te doen wat jij wil ;) Maar ga die dingen nou niet meteen 1-op-1 overnemen, want je wil begrijpen waarom het zo moet en niet zoals jij het doet. Ga er even rustig voor zitten en zoek voor jezelf uit waarom het op die manieren kan.

Oh en inderdaad je regel 25 klopt ook niet. Die doet ook niet wat jij denkt dat het doet, vermoed ik. Maar zie daarvoor de reactie van NMe

[ Voor 6% gewijzigd door Caelorum op 22-11-2014 11:44 ]


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Regel 25 was inderdaag fout. Die voorbeelden zijn bedoelt voor C-sharp. Ik heb zitten zoeken naar een vergelijkbare functie. Zou deze functie wat kunnen zijn?

http://msdn.microsoft.com...73y76a%28v=vs.100%29.aspx

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Return Value
Type: System.String[]
Wat denk je zelf? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik vind het lastig om het verschil te vinden tussen C++ en VC++. Ik heb die string.split geprobeerd. maar ik kreeg dan niet de letter in een textbox geoutput uit de array. Kreeg een fout melding cannot convert wchar_t to constwchar_t*.

  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 16:59

Tribits

Onkruid vergaat niet

Ik vraag me eigenlijk af waarom je er voor gekozen hebt om in deze omgeving je eerste stappen op C++ programmeergebied te zetten. Je zit nu met een combinatie van standaard C++ en managed extensions (dwz het .Net framework) te worstelen. Mogelijk ook nog met verschillen tussen ASCII en unicode strings.

Als je begint te programmeren is het doorgaans zelfs al twijfelachtig of je een IDE moet gebruiken. Tegenwoordig is het wel gangbaar maar het leid vaak ook enorm af en je loopt het risico dat je meer met de IDE en/of frameworks aan het worstelen bent dan met je applicatie.

Het helpt misschien als je omschrijft wat het doel is van je exercitie dan kunnen anderen je misschien vertellen wat de meest geëigende middelen voor dat doel zijn.

Master of questionable victories and sheer glorious defeats


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb al best wat ervaring met het programeren van microcontrollers. Vroeger deed ik dan het computer gedeelte in visual basic wat prima werkte voor mij. Nu wordt visual basic niet meer ondersteund en dacht ik dan stap ik over op visual C++. Maar het lijkt alsof er weinig C++ aan is maar meer een op zich zelf staande taal. De rede voor een IDE is dat ik een user vriendelijke interface wil hebben voor de gebruiker en niet een zo'n console window.

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 22:58
tj.jackel schreef op zondag 07 december 2014 @ 13:56:
[...] De rede voor een IDE is dat ik een user vriendelijke interface wil hebben voor de gebruiker en niet een zo'n console window.
Dat heeft natuurlijk niets te maken met of je een IDE gebruikt of niet, maar of je een GUI toolkit (of je zelfgemaakte brouwsel) gebruikt.

  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 16:59

Tribits

Onkruid vergaat niet

tj.jackel schreef op zondag 07 december 2014 @ 13:56:
Ik heb al best wat ervaring met het programeren van microcontrollers. Vroeger deed ik dan het computer gedeelte in visual basic wat prima werkte voor mij. Nu wordt visual basic niet meer ondersteund en dacht ik dan stap ik over op visual C++.[/b]
De meeste VB programmeurs stappen over naar VB.NET, waarschijnlijk omdat ze denken dat die overstap het makkelijkst is. Volgens mij kan je beter overstappen naar C#, wordt een stuk meer gebruikt en oogt mij als taal toch wat volwassener dan VB.NET.
Maar het lijkt alsof er weinig C++ aan is maar meer een op zich zelf staande taal. De rede voor een IDE is dat ik een user vriendelijke interface wil hebben voor de gebruiker en niet een zo'n console window.
Op zich is de compatibiliteit van de Microsoft (Visual) C++ compiler met de C++ standaards niet denderend maar dat is niet waar je hier tegenaan loopt. Doordat je die managed extensies aan hebt staan programmeer je nu in een soort mix van standaard C++ en .Net. Theoretische misschien niet helemaal goed uitgedrukt maar daar komt het wel op neer. Het is sowieso niet de meest logische keuze, in de meeste gevallen ligt C# veel meer voor de hand. Als je toch (managed) C++ wilt programmeren zou ik je aanraden eerst de C++ basics onder de knie te krijgen, daarna eventueel een gangbare .Net taal leren programmeren en dan eventueel verder te gaan met managed C++. Overigens is de naam Visual C++ altijd al misleidend geweest. Die hebben ze overgenomen van Visual Basic maar eigenlijk is er nooit zo bar veel visual geweest aan MS C++. Voor het .Net framework (tijdje terug, ik weet het) was er eigenlijk alleen een tamelijk basic en teven complex UI framework genaamd MFC. Visual C++ is in de verste verte niet te vergelijken met Visual Basic.

De reden dat ik aanraad om in een console window te beginnen is dat je op die manier ook een idee krijgt wat er onder de motorkap gebeurt. Als zaken als broncode en compilers/linkers allemaal gesneden koek zijn voor je dan is die noodzaak er misschien niet maar ik heb gewoon gemerkt dat mensen die dat niet doen wel leren hoe ze iets moeten programmeren en draaien in een IDE maar soms geen idee hebben waar ze nu echt mee bezig zijn. 1 ding gelijk leren is al lastig genoeg, als je drie dingen tegelijk probeert te leren zie je door de bomen het bos niet meer.

Master of questionable victories and sheer glorious defeats


  • NC83
  • Registratie: Juni 2007
  • Laatst online: 20-11 17:32
Je bent in dit geval geen std::string aan het gebruiken maar een System::String, je moet naar de documentatie van Platform::String kijken, MSDN: Platform::String Class

Platform::String::Data geeft je een pointer naar het onderliggende char array, dat hoogste waarscijnlijk een unicode UTF-16 encoding heeft. Met een WideCharToMultiByte kun je dit naar een UTF8 transformeren.
Tribits schreef op zondag 07 december 2014 @ 22:26:
Op zich is de compatibiliteit van de Microsoft (Visual) C++ compiler met de C++ standaards niet denderend maar dat is niet waar je hier tegenaan loopt.
Zolang je VS2013 of hoger gebruikt is de C++ compiler behoorlijk compliant met ISO C++, MS heeft hier extreem veel tijd in geinvesteerd over de laatste 2 jaar.

[ Voor 32% gewijzigd door NC83 op 08-12-2014 16:02 ]

ex-FE Programmer: CMR:DiRT2,DiRT 3, DiRT Showdown, GRID 2, Mad Max


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:40

.oisyn

Moderator Devschuur®

Demotivational Speaker

Tribits schreef op zondag 07 december 2014 @ 22:26:
Op zich is de compatibiliteit van de Microsoft (Visual) C++ compiler met de C++ standaards niet denderend maar dat is niet waar je hier tegenaan loopt. Doordat je die managed extensies aan hebt staan programmeer je nu in een soort mix van standaard C++ en .Net. Theoretische misschien niet helemaal goed uitgedrukt maar daar komt het wel op neer. Het is sowieso niet de meest logische keuze, in de meeste gevallen ligt C# veel meer voor de hand. Als je toch (managed) C++ wilt programmeren zou ik je aanraden eerst de C++ basics onder de knie te krijgen, daarna eventueel een gangbare .Net taal leren programmeren en dan eventueel verder te gaan met managed C++.
Klok en klepel.

ISO C++ Standard compliance van MSVC++ is tegenwoordig uitstekend. Dat was het eigenlijk al sinds VC++ 2003, en de nieuwere C++11 en C++14 features worden inmiddels redelijk snel opgepikt. Compliant met ISO C (C11 of zelfs C99) is het echter niet echt, maar het claimt dan ook geen compliant C compiler te zijn - C++ is waar de focus op ligt.

Verder zijn de Managed Extensions for C++, of Managed C++ in het kort, deprecated. De taal waar de topicstarter in werkt heet C++/CLI, die is officieel gestandaardiseerd bij ECMA en wordt gebruikt sinds VC++ 2005.
Overigens is de naam Visual C++ altijd al misleidend geweest. Die hebben ze overgenomen van Visual Basic
Nonsens. De eerste release van Visual C++ 1.0 kwam met MFC en een form designer. Het was dus net zo visueel als Visual Basic dat is. En nu nog steeds zit die form designer er in, te gebruiken voor native win32 resource dialogs, MFC en Windows Forms (icm C++/CLI). De enige support die het niet heeft is voor WPF.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 16:59

Tribits

Onkruid vergaat niet

Dat was te kort door de bocht ja, bedankt voor de uitleg. Maar als ik alleen op had gemerkt dat de MS compiler standaard compliant is dan had daar waarschijnlijk weer de nodige kritiek op gekomen. Hoe dan ook is het niet het probleem waar TS tegenaan loopt.
Verder zijn de Managed Extensions for C++, of Managed C++ in het kort, deprecated. De taal waar de topicstarter in werkt heet C++/CLI, die is officieel gestandaardiseerd bij ECMA en wordt gebruikt sinds VC++ 2005.
Ok, mijn kennis op dat gebied is kennelijk verouderd. Ik heb ooit eens bekeken of het de moeite waard was om een bestaand C++ project om te zetten naar managed C++. Zal rond die tijd (2005) geweest zijn. Moet zeggen dat het concept me toen niet echt trok en nu nog steeds niet. Ik geloof ook niet dat er veel activiteit is op het gebied van C++ CLI. Heb het daarna dan ook verder niet gevolgd.
Nonsens. De eerste release van Visual C++ 1.0 kwam met MFC en een form designer. Het was dus net zo visueel als Visual Basic dat is. En nu nog steeds zit die form designer er in, te gebruiken voor native win32 resource dialogs, MFC en Windows Forms (icm C++/CLI). De enige support die het niet heeft is voor WPF.
Daar denk ik nog steeds anders over maar ik denk niet dat een discussie over de verschillen tussen VB6 en VC hier echt zinvol is. Het belangrijkste voor TS is dat Visual C++ (in de vorm van MFC) stukken ingewikkelder is dan Visual Basic en zeker niet iets waar je aan moet beginnen zonder gedegen C++ kennis. MFC werd niet voor niets ook wel gekscherend de Microsoft Frustration Classes genoemd. Ik weet dat het nog steeds aanwezig is in VS2013 maar ik zou het nu niet direct iemand aanraden om daar in te gaan ontwikkelen, tenzij voor specifieke doeleinden.

De optie voor C++ CLI had ik nog open gelaten omdat TS daar zelf voor gekozen had. Hoe dan ook geloof ik niet dat ik ooit van iemand gehoord heb die na het stopzetten van VB6 de overstap naar Visual C++ gemaakt heeft omdat dat de meest logische keuze zou zijn. Aangezien TS uit de wereld van de besturingstechniek komt voor zover mij duidelijk is zou de keuze voor C++ misschien nog niet zo gek zijn dus vandaar dat ik niet direct C# aan wilde raden. Als het puur om het programmeren van user interfaces en data georiënteerde applicaties gaat is dat waarschijnlijk wel de juiste keuze.

Master of questionable victories and sheer glorious defeats


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Oke,

Ik heb alles omgezet in C#. En het is inderdaad makkelijker. Komt bekender voor met een visual basic achtergrond. Nu heb ik het omgeschreven. Ik loop nu tegen de volgende fout melding aan:

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex

Dit is raar omdat het pas gebeurt bij het instellen van string13.
Dit betekend dat het programma dezelfde handeling 13 keer hiervoor goed heeft gedaan. Hoe kan dit? Wat gaat er fout?

//declare global variable
char[] shiftedalfabet = new char[26];
char[] basisalfabet = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
char[] basisaflbabet2 = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };


//declarations
int shiftnumber;
int counter = 26;
int counter2 = 0;
int counter3 = 0;


//get the shift number from the numericupdown
shiftnumber = Convert.ToInt32(shiftnum.Value);

counter2 = 26 - shiftnumber;

//go trough the shiftedalfabet array
while(Convert.ToBoolean(counter)){
counter2 = counter2 % 26;
shiftedalfabet[counter3] = basisalfabet[counter2];

counter2++;
counter3++;


counter--;
}

//convert to system string and update label
String temp0 = new String(shiftedalfabet, 0, 1);
shifted1.Text = temp0;
String temp1 = new String(shiftedalfabet, 1, 2);
shifted2.Text = temp1;
String temp2 = new String(shiftedalfabet, 2, 3);
shifted3.Text = temp2;
String temp3 = new String(shiftedalfabet, 3, 4);
shifted4.Text = temp3;
String temp4 = new String(shiftedalfabet, 4, 5);
shifted5.Text = temp4;
String temp5 = new String(shiftedalfabet, 5, 6);
shifted6.Text = temp5;
String temp6 = new String(shiftedalfabet, 6, 7);
shifted7.Text = temp6;
String temp7 = new String(shiftedalfabet, 7, 8);
shifted8.Text = temp7;
String temp8 = new String(shiftedalfabet, 8, 9);
shifted9.Text = temp8;
String temp9 = new String(shiftedalfabet, 9, 10);
shifted10.Text = temp9;
String temp10 = new String(shiftedalfabet, 10, 11);
shifted11.Text = temp10;
String temp11 = new String(shiftedalfabet, 11, 12);
shifted12.Text = temp11;
String temp12 = new String(shiftedalfabet, 12, 13);
shifted13.Text = temp12;
String temp13 = new String(shiftedalfabet, 13, 14);
shifted14.Text = temp13;

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-10 14:28
De documentatie voor new String(Char[], Int32, Int32) bekijken (de constructor) of kijken wat het resultaat is van de voorgaande strings die je maakt en of dat overeenkomt met wat je verwacht.

  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Hoi,

Ik heb nu de volgende code:

//declarations
int shiftnumber;
int counter = 25;
int counter2 = 0;
int counter3 = 0;


//get the shift number from the numericupdown
shiftnumber = Convert.ToInt32(shiftnum.Value);

counter2 = 26 - shiftnumber;

//go trough the shiftedalfabet array
while(Convert.ToBoolean(counter)){
counter2 = counter2 % 26;
shiftedalfabet[counter3] = basisalfabet2[counter2];

counter2++;
counter3++;


counter--;
}

//convert to system string and update label
String temp0 = new String(shiftedalfabet, 0, 1);
shifted1.Text = temp0;
String temp1 = new String(shiftedalfabet, 1, 2);
shifted2.Text = temp1;
String temp2 = new String(shiftedalfabet, 2, 3);
shifted3.Text = temp2;
String temp3 = new String(shiftedalfabet, 3, 4);
shifted4.Text = temp3;
String temp4 = new String(shiftedalfabet, 4, 5);
shifted5.Text = temp4;
String temp5 = new String(shiftedalfabet, 5, 6);
shifted6.Text = temp5;
String temp6 = new String(shiftedalfabet, 6, 7);
shifted7.Text = temp6;
String temp7 = new String(shiftedalfabet, 7, 8);
shifted8.Text = temp7;
String temp8 = new String(shiftedalfabet, 8, 9);
shifted9.Text = temp8;
String temp9 = new String(shiftedalfabet, 9, 10);
shifted10.Text = temp9;
String temp10 = new String(shiftedalfabet, 10, 11);
shifted11.Text = temp10;
String temp11 = new String(shiftedalfabet, 11, 12);
shifted12.Text = temp11;
String temp12 = new String(shiftedalfabet, 12, 13);
shifted13.Text = temp12;

Nu heb ik het volgende probleem:

De uitkomst van de uit de shiftedalfabet array wordt naar de labels gepost. Nu krijg ik zonder verschuiving op label1 a, label2 bc, label3 cde, label4 defg etc. Hoe komt dit?

  • Reptile209
  • Registratie: Juni 2001
  • Nu online

Reptile209

- gers -

(jarig!)
Zijn je [code]-tags weer stuk?

En als je nu gewoon kijkt naar wat er gebeurt: je beginpositie verschuift, maar de stringlengte neemt toe in iedere stap. Zou die laatste parameter dan soms het aantal tekens zijn in plaats van de laatste positie?

Zo scherp als een voetbal!


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Ben je nu echt 3 weken later ondanks alle schoppen in de goeie richting hierboven nog bezig met een basaal probleem als dit? Dat is niet zo lullig bedoeld als het klinkt, maar als je er écht zo veel moeite mee hebt moet je misschien even pas op de plaats maken en er een goed boek bij pakken, of op zijn minst even iets bijlezen over stringmanupilatie in C++. Met dat aanklooien wat je al vanaf het begin van dit topic doet bereik je niks. Je bent een beetje als een kip zonder kop stukjes code aan het kopiëren zonder te begrijpen wat die code eigenlijk doet.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1