Allgemeine Funktionen besonders für Events
-
Weil ich eigentlich fast nur auf englisch schreibe...
-
i = i+1;
hier könntest Du
i++;
schreiben, das ist die Kurzform für deine Zeile.
Warum schreibst Du das erhöhen von i eigentlich nicht in die for-Schleife:
for (int i = 0;i>=9; i++) { AccountName[i] = Convert::ToChar(this->AccountNameBox->Text); }
Hierdurch wird der Zähler mit jedem Schleifendurchlauf um 1 erhöht.
EDIT:
Ich habe übersehen das Du eine andere, bessere Lösung gewählt hast, von da an gilt die for-Schleife garnicht mehr...
mfg
Mr X
-
Wenn schon würde man ++i schreiben
-
Wenn schon würde man ++i schreiben
Verstehe ich jetzt nicht...
-
Ich dafür aber wenn ++i wird vor dem Durchlaufen erhöht und bei i++ danach post und prä denke ich?! Aber in diesem Fall wäre i++ doch richtig weil es ja erst in Feld[0] geschrieben wird. Diese Methode war natürlich Mist weil man den Text dann nicht korrekt bearbeiten konnte.
//... { string ^reinschreibvariable; reinschreibvariable = this->TEXTBOXNAME->text; } //so finde ich das ganze um einiges geschickter und professioneller //...
-
Weis hier jemand etwas über Dateispeicherung?
oder wie initialisierie ich eine Instanz?
z.B.//code hier System::Xml::XmlImplementation::XmlImplementation(); //hierzu Instanz initialsieren. Das ist zwar Grundlage aber ich finde nix brauchbares im I-Net.
-
Meinst Du mit Datenspeicherung in Datei schreiben? oder meinst Du daten während der Laufzeit des Programmes speichern? Oder meinst Du Sachen wie Datenbänke?
-
Ich meine in Datei speichern. Zum Beispiel gibt mein Benutzer in ein Feld an:
Vorname : Hans
das "Hans" wird dann in eine Datei gespeichert. Das ist ja auch leicht:System::IO::File ^SpeicherObjekt; SpeicherObjekt->Create("CONFIGS.txt",Name) // oder irgendeine Dateinamenerweiterung.
Problem:
Mit einer Überladung der Funktion kann man auch ein Array einlesen indem das erste Element in die erste Zeile geschrieben wird,usw. Aber ich kann das mit den Arrays nicht so wirklich.
Wo liegt der Fehler:array<System::String^>^ ListAusgabe; Listausgabe[0] = Vorname; Listausgabe[1] = Nachname; //usw. die Strings passen scho.
der Debugger zeigt an:
Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Könnt ihr mir helfen? Das liegt hier ja eher am Array. Glaube ich zu mindestens.
-
C-Chris schrieb:
array<System::String^>^ ListAusgabe; Listausgabe[0] = Vorname; Listausgabe[1] = Nachname; //usw. die Strings passen scho.
wie groß soll das Array den werden?
normalerweise -wenn es nicht irgendeine Ausnahme ist dann- musst du das Objekt erst auf dem Verwaltenden Heap anlegen. z. B. so:
array <System::String^> ^listAusgabe = gcnew array <System::String^>(10); //oder so
Damit hast du ein Eindimensionales-Array vom Typ String mit 10 Elementen angelegt.
PS: Damit du nicht immer noch "System::" vor den Typen/Methoden schreiben musst, füge am Anfang des Quelltextes (direkt unter die #include-Anweisungen) folgendes ein:
using namespace System;
Jetzt kannst du z. B.
array <String^> listAusgabe = gcnew array <String^>(10);
schreiben und muss nicht das "System::" davor schreiben
-
Meine Lösung : (selbst herausgefunden)
http://www.c-plusplus.net/forum/viewtopic-var-t-is-193947-and-start-is-10.html
Eigentlich ganz leicht aber danke für die manuelle Größeneinteilung. Ich habe nicht beachtet dass ein Array bei dessen Deklaration größentechnisch definiert werden muss. Aber die Lösung ist dann doch eine passable:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-193947-and-start-is-10.htmlAber nochmal Danke! Hat jemand eine Idee wie man direkte Eingaben wie man direkte Eingaben machen könnte also das das Programm eine bestimmte Zahl drückt und diese auf das jeweilige Porgramm bezogen die vorgesehene Funktion auslösen? Ich werde heute mal ein bisschen testen(Intellisense ist eben genial).