Softwareentwicklung mit Delphi

Softwareentwicklung mit Delphi

Posts 1-6 of 6
  • Markus Lemcke
    Markus Lemcke    Premium Member   Group moderator
    The company name is only visible to registered members.
    String in dbmemo speichern
    Hallo,

    ich habe in einer Paradoxtabelle ein Memofeld in welchem ich einen String speichern möchte!
    Wenn ich es so versuche:
    TableProjektProjektverz.value := Dir;

    kommt die Fehlermeldung:
    Das nach dem Punkt ein Feldbezeichner erwartet wird! was meint er damit?

    Versuche ich es so:
    TableProjekt.FieldByName('Projektverz').AsString := Dir;

    bekomme ich zur Laufzeit, dass das Memofeld nicht als String angesprochen werden kann!

    Das einzige was funktioniert ist das hier:
    DBMemoAuftragsverzeichnis.Text := Dir;

    Ich weise es der Datensteuerungsomponente zu! Find ich habe nicht gerade toll.
    Muss doch auch anders gehen oder?

    Herzliche Grüße

    Markus
  • Manuel Pistner
    Manuel Pistner    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re: String in dbmemo speichern
    Hallo Markus,

    es klappt auf jeden Fall, wenn du das Memofeld mit einem Stream schreibst. Welche Datenkomponenten benutzet du denn?

    Viele Grüße
    Manuel Pistner

    Nachtrag: So wie ich das sehe möchtest du ein Verzeichnis speichern. Warum muss es dazu ein Memofeld in der Datenbank sein?
    This post was modified on 20 Nov 2008 at 06:15 pm.
  • Markus Lemcke
    Markus Lemcke    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re^2: String in dbmemo speichern
    Hallo Manuel,

    ich benutze die dbmemo-Komponente!
    ich habe ein memo-feld genommen, wi so ein Pfad u. Umständen in ein Alphanummerisches Feld nicht rein passen könnte!

    Streams habe ich in Delphi selten benutzt!
    könntest Du bisserl code posten bitte?

    Herzliche Grüße


    Markus
  • Manuel Pistner
    Manuel Pistner    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re^3: String in dbmemo speichern
    Hey Markus,

    URLs/Pfade die länger als 255 Zeich sind werden aber so doch gar nicht unterstützt wenn ich mich recht entsinne.
    Zur Verwendung von Stream solltes du mal in der Delphihilfe unter TStream gucken. Das grobe vorgehen ist dann folgendes

    Man kann auf der DBKomponenten einen Stream erstellen, auch das steht in der Delphihilfe, ich weiß es auch nicht auswendig, sorry.
    Bei dem Memo sagst die denn:

    Memo.Lines.SavetoStream

    und übergibst als Parameter den Stream der DB Komponente.

    Dann sollte es klappen.

    Grüße
    Manuel
  • Markus Lemcke
    Markus Lemcke    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re^4: String in dbmemo speichern
    hi Manuel,

    stimmt, das mit den 256 Zeichen hatte ich auch nicht mehr im kopf!
    16bit ist ja auch ewig her und eigentlich habe ich die letzten zwei jahre mit der Programmiersprache C# verbracht!
    Also mein Delphi-wissen ist bißchen eingerostet, aber es kommt wieder!
    Danke für Deine Unterstützung!

    Herzliche Grüße


    Markus
  • User photo
    Andreas Grotz
    (not a XING member)
    Re^5: String in dbmemo speichern
    mhm .. sollte doch eigentlich so gehen mit den Streams...

    var strStream : TStringStream;
    ...
    strStream : =TStringStream.Create(komischerString);
    try
    TMemoField(aTable.FieldByName('komischesFeld')).LoadFromStream(strStream);
    finally
    strStream.Free;
    end;

    wenn man ganz viel freizeit hat könnte man auch sowas hier machen:

    var mem : Tmemorystream;

    mem := TmemoryStream.Create;
    try
    mem.SetSize( Length(aStr) );
    mem.position := 0;
    move(aStr[1],mem.memory^,Length(aStr));
    TMemoField(aTable.FieldByName('.....')).LoadFromStream(mem);
    finally
    mem.free;
    end;

    aber venünftiger wäre

    TMemoField(aTable.FieldByName('...')).Value := aStr;

    das mit 255 zeichen ist doch nun wirklich schon lange her :-)

    greetz andy