Results 1 to 3 of 3

Thread: Geselecteerde waarde invoegen in regel dbmemo

  1. #1

    Geselecteerde waarde invoegen in regel dbmemo

    hi,

    Ik heb een form met een dbmemo, zie afbeelding. Daarnaast gebruik ik een popup met 3 menu opties (oranje omkaderd).
    die gekoppeld is aan de dbmemo. Door op de rechter muisknop te klikken wordt de popup getoond.

    Nu wil ik op de plek waar de cursor staat de selecteerde menu waarde plaatsen. De waarde is dan bijv. [KENTEKEN] of [CHAUFFEUR].

    Hoe kan ik dat realiseren...of is er een betere manier?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	voorbeeld.png 
Views:	113 
Size:	31.8 KB 
ID:	7964  

  2. #2
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Dat kun je eenvoudig doen door eerst de cursorpositie in de DBMemo op te halen met SelStart
    en daarna het veld in je database aan te passen met de tekst uit de popup-item.

    Ondoordachte code, maar het doet wat je vraagt:
    Delphi Code:
    1. procedure TfrmMain.InsertIntoMemo(ATekst: string);
    2. var
    3.   I: Integer;
    4.   S: string;
    5. begin
    6.   I := DBMemo1.SelStart; // Huidige cursorpositie (0-based)
    7.   S := ClientDataSet1.FieldByName('Tekst').AsString; // Huidige tekst in dataveld
    8.   Insert(ATekst, S, Succ(I)); // Onze nieuwe tekst in huidige tekst plaatsen op de gewenst positie (dit is 1-based, dus eentje erbij optellen)
    9.   try
    10.     if ClientDataSet1.State <> dsEdit then // Als dataset nog niet in edit-modus staat...
    11.       ClientDataSet1.Edit; // ...dan in edit-modus zetten
    12.     ClientDataSet1.FieldByName('Tekst').AsString := S; // Zet nieuwe tekst in veld
    13.     ClientDataSet1.Post; // en post de data
    14.   finally
    15.     DBMemo1.SelStart := I; // Zet de cursorpositie terug (anders springt hij weer naar 0 in de memo)
    16.   end;
    17. end;
    Attached Files Attached Files
    Last edited by VideoRipper; 16-Jun-19 at 02:17.
    TMemoryLeak.Create(Nil);

  3. #3
    Thanks...dit werkt perfect...en dat voor 'ondoordachte code' haha
    Ik ben er blij mee

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •