Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » HIlfe... Hilfe und nochmal Hilfe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2004, 13:33 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Also ich benutze de C++ builder Ver. 6 von Borland auf dem BS Win2000Pro.
Hab folgendes Problem bei meinem Program sollen Lieferantendaten ausgelesen werden. Die Namen der Lieferanten werden aus einer INI-Datei in eine Listbox gelesen. die daten zu den Lieferanten stehen auch in dieser INI. Das auslesen und konvertieren soll in einer Schleife passieren. Es wird nur das ausgeesen werden was auch makiert ist. z.B.: wenn Lieferant x makiert ist sollen auch nur die Daten von Lieferant x ausgelesen und konvertiert werden. Man kann auch mehrere Lieferanten makieren, was zur Folge hat das diese Daten dann jeweils nacheinander ausgelesen werden. Mein Quelltext sieht so aus

C++:
//Variablendeklaration
        int i;
        AnsiString LieKen,LieNr,Suchbegriff,HerstArtNr;
        AnsiString one="þaa",two="þab",three="þad",four="þaf",fife="þag",six="þ012",seven="þ017",eight="þ01",nine="þ03";
        AnsiString Satzkennzeichen="þSKZ";
        AnsiString Datenbank="þDBK32";
        AnsiString Uebernahme="þUEBER";
        AnsiString uebernommen="þN";
        AnsiString Verarbeitungsart="þVART";
        AnsiString Verarbeitungsart1="þ0";


        //Abfrage ob Item ausgewählt ist
        if(auswahl->Selected[int(auswahl->Items)]==true)
                {
                //Anzeigen der Daten in dem Memo
                meldung->Lines->Add(DateToStr(Date())+" "+TimeToStr(Time()));
                meldung->Lines->Add("Konvertierung gestartet");
                //Abfrage ob ausgewählte Datei vorhanden ist
                if(FileExists(Config->ReadString("Maxdata","Importdatei","")))
                        {
                        //Auslesen von Lieferantenspezifischen Dateien
                        LieKen=Config->ReadString("Maxdata","Lieferanten-Kennung","");
                        LieNr=Config->ReadString("Maxdata","Lieferanten-Nummer","");
                        Memo1->Lines->LoadFromFile(Config->ReadString("Maxdata","Importdatei",""));
                        //setzen des Anfangs- und Endpunkt für die Fortschrittsanzeige
                        fort->Min=1;
                        fort->Max=Memo1->Lines->Count;
                        //Festlegen Schleifenbeginn und Ende
                        for(i=fort->Min;i<fort->Max;i++)
                                {
                                //festlegen der Position des Fortschrittsbalken
                                fort->Position=i;
                                //Aufruf der Funktion Splitline
                                SplitLine(Memo1->Lines[0][i],(char)atoi(Config->ReadString("Maxdata","Trennzeichen","").c_str()), ListBox2->Items);
                                while(ListBox2->Items->Count<=10)
                                        {
                                        //Hinzufügen von Leerfeldern solange
                                        //weniger als Zehn Items im Listenfeld sind
                                        ListBox2->Items->Add("");                                      
                                        }
                                //zusammen setzen von ausgewählten Datenschnipseln
                                //welche zuvor getrennt wurden
                                Memo2->Lines->Add(Satzkennzeichen+Datenbank+Uebernahme+uebernommen+Verarbeitungsart+Verarbeitungsart1+one+'þ'+LieKen+ListBox2->Items->Strings[0]+two+'þ'+ListBox2->Items->Strings[1]+three+'þ'+Suchbegriff+four+'þ'+ListBox2->Items->Strings[1]+fife+'þ'+ListBox2->Items->Strings[0]+six+'þ'+LieNr+seven+'þ'+ListBox2->Items->Strings[4]+eight+'þ'+LieKen+ListBox2->Items->Strings[0]+nine+'þ'+HerstArtNr+'þ');
                                }
                        }
                        else
                                {
                                //anzeigen der Fehlermeldung, falls die Datei nicht gefunden wurde
                                meldung->Lines->Add("Datei nicht gefunden");
                                }
                }
       Memo2->Lines->SaveToFile(Config->ReadString("Einstellungen","Speichern",""));


überall dort wo Lieferanten namen oder so etwas über ReadString ausgelesen werden muss das rein was makiert wurde in der Listbox.
Listbox hat hier die bezeichnung "auswahl"
Wenn ich diese Funktion für jeden Lieferanten extra mache funzt es.Problem dabei der Benutzer soll in der INI beliebig viele Lieferanten hinzufügen können ohne das der Admin oder ich am Quelltext umherbasteln müssen.

Wäre sehr dankbar für Tipps oder Lösungsansätze und wege.
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.06.2004, 16:13 Uhr
typecast
aka loddab
(Operator)


Wähl doch in zukunft ausagekräftigere Titel. Nach "Hilfe... Hilfe und nochmals Hilfe" wird kein Mesch suchen, wenn er/sie das selbe Problem hat.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.06.2004, 12:49 Uhr
~franko
Gast


Für sowas benutzt man in der Regel eine Datenbank.
Dann kannst du komplexe Abfragen über eine einzige SQL-Anweisung lösen.
Um dir bei deinem Ansatz zu helfen bräuchte man schon mal mindestens deine INI Datei und kompletten Quelltext.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.06.2004, 15:36 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


@ typecast ne glaub net das dieses Zeugs einer gebrauchen kann, das ist schon so zugeschnitten auf das was ich damit machen will, damit kann niemand was anfangen

@franko nix datenbank. is nicht kann man gleich vergessen das hat mit Lieferantenartikeldaten zutun und die kommen bei mir in unterschiedlichen Formaten an( Datenbank, TXT, Datanorm4, u.s.w) Und hab mir das auch schon überlegt mit der Datenbank is aber zu aufwendig und zu schwer für den Anwender und deshalb gibt es das Textformat
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: