Problem mit INI Files



  • Hallo

    TInifile ist mit Sicherheit auch in der Builder-Version dabei (ohne das du beim Setup etwas spezielles auswählen must). Such mal in der Builder-Hilfe danach.

    bis bald
    akari



  • das hatte ich gemacht, als ich den Post obendrüber gelesen hatte. Die Hilfe findet da natürlich auch was. Nur WO steht da leider nicht. Weil ich es nicht gefunden habe, dachte ich ich hätte es nicht mitinstalliert.

    greetz KN4CK3R



  • Hallo

    Dann hast du doch alles was du brauchst. In den Beispielen aus der Builder-Hilfe steht auch wie du TIniFile verwendest.

    bis bald
    akari



  • nope, wenn ich jetzt das Object TIniFile einbaue, dann sagt er mir, dass er die Klasse TIniFile nicht finden kann...

    greetz KN4CK3R



  • Hallo

    Dann hast du die Builder-Hilfe nur ganz kurz überflogen. Denn gleich auf der ersten Seite zu TIniFile steht wie die Unit heißt die man für TIniFile braucht. Und in den Beispielen wird auch gezeigt wie diese Unit konret eingebunden wird.

    bis bald
    akari



  • so habe alle Beispiele durchgesehen. Bei mir wird in keinem einzigen auch nur ansatzweise etwas mit INI-Files gemacht...

    greetz KN4CK3R



  • siehe hier



  • KN4CK3R schrieb:

    so habe alle Beispiele durchgesehen. Bei mir wird in keinem einzigen auch nur ansatzweise etwas mit INI-Files gemacht...

    Gib doch einfach mal TIniFile im Hilfeindex ein. Da gibt es auch einen Punkt "TIniFile verwenden" (BCB5) oder "TiniFile Benutzung" (BCB6). Beim BDS2006 gibts das auch, allerdings nur für Delphi.



  • habs jetzt anders gelöst. Habe die Funktion genommen die ich oben gepostet hab und speichere die Werte noch zusätzlich in Variablen. Beim Profilwechsel wird dann nicht mehr die INI eingelesen, sondern nur noch die Variablen. Funzt wunderbar so 🙂

    greetz KN4CK3R



  • char *ch = new char[3];
    if(profil == 1)
    {
      GetPrivateProfileString("Profil1-RGBStart","R",0,ch,100,inipfad);
      ..
      ..
    

    Die Funktion erwartet als 5. Parameter die Größe des Puffers, den Du zur Verfügung stellst. Du übergibst als Größe 100 Bytes, hast aber ch nur mit 3 Bytes erzeugt. Deine "Lösung" funktioniert wahrscheinlich nur, weil Dein Ergebnis nie größer als 3 Bytes ist, aber wehe, jemand schreibt mal einen größeren Text in Deine Ini-Datei.

    Rob'



  • @Rob'
    Die Panne ist doch schon passiert 😮
    Beim Einlesen von "R=123" werden doch schon 4 char's benötigt: man vergesse nicht die abschließende '\0'. Und ab da kannst Du dem Programm nicht mehr trauen.

    Nebenbei @KN4CK3R:
    Warum die 3 bzw. korret 4 char's mit new allokieren? Die kannst Du doch locker mit

    char ch[4];
    

    auf dem Stack ablegen und mußt Dich nicht mal um deren Vernichtung kümmern.



  • hab mir mitlerweile ne kleine Datenbank gebastelt. Jetzt funzt alles...

    greetz KN4CK3R



  • Wegen der Ini-FIles und VCL....
    Borland hat glaub ich in der Hilfe vergessen anzugeben das man die datei "inifiles.hpp" mit einbinden muss...

    MFG Antwort



  • Hallo

    Nein ist nicht vergessen

    BCB-Hilfe zu TIniFile schrieb:

    Unit
    inifiles

    bis bald
    akari


Anmelden zum Antworten