Results 1 to 5 of 5

Thread: Zoek en vervang / samenvoegen

  1. #1

    Zoek en vervang / samenvoegen

    Hi

    Ik heb twee mysql tabellen, namelijk SMS en VOERTUIG

    Tabel SMS heeft 2 velden en bevat standaard sms teksten :
    - onderwerp (var)
    - bericht (tekst|)

    Tabel VOERTUIG heeft meerder velden waaronder en bevat voertuig/chauffeur gegevens:
    - kenteken
    - chauffeur naam
    - chauffeur mobiel
    - bedrijf

    De tabel SMS bevat standaard sms teksten waarbij :
    - onderwerp = 'Voertuig verplaatsen'
    - bericht = 'Gelieve uw voertuig te verplaatsen naar de daarvoor bestemde parkeerplaatsen op het terrein'

    Nu wil ik in deze tekst bijv. een aantal 'variabelen/tags' kunnen gebruiken die straks vervangen moeten door de echte
    gegevens uit de tabel VOERTUIG. Bijvoorbeeld de variabele/tags:
    [KENTEKEN]
    [CHAUFFEUR]
    [BEDRIJF]

    De tekst ziet er dan zo uit :
    Beste [CHAUFFEUR] gelieve uw voertuig met kenteken [KENTEKEN] te verplaatsen naar de daarvoor bestemde parkeerplaatsen op het terrein'

    In het leverancier scherm heeft men de mogelijkheid om een sms te versturen op basis van de standaard sms teksten, zie bijlage
    Zodra gekozen wordt voor een onderwerp zal de tekst in het memo veld verschijnen.

    Nu wil ik op dat moment de variabele [KENTEKEN] vervangen/samenvoegen met de echte gegevens uit de
    tabel VOERTUIG (Voertuig.fieldbyname('kenteken').asString). Zodat het sms de volledige gegevens bevat.

    Hoe kan ik dit realiseren ?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	iTransport_2019-05-10_21-53-16.png 
Views:	71 
Size:	11.2 KB 
ID:	7954  

  2. #2
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Wel... geef je niet al zelf de oplossing?
    En die is: zoek in de string [CHAUFFEUR] en vervang deze door de Chauffeur-naam uit de tabel in kwestie.
    Idem met [KENTEKEN].

  3. #3
    Had het iets te moeilijk gemaakt, dit werkt :

    scMemo_Message.Text := StringReplace(scMemo_Message.Text,'[KENTEKEN]',dmMain.Registration.FieldByName('LicensePlate'). asString, [rfReplaceAll]);
    scMemo_Message.Text := StringReplace(scMemo_Message.Text,'[CHAUFFEUR]',dmMain.Registration.FieldByName('DriverName').as String, [rfReplaceAll]);
    Last edited by mierlp; 11-May-19 at 00:42.

  4. #4
    StringReplace is een functie, geen procedure. Je moet het resultaat dus ergens inzetten.

    Waarschijnlijk wil je dit
    Code:
    scMemo_Message.Text := StringReplace(scMemo_Message.Text,'[KENTEKEN]',dmMain.Registration.FieldByName('Licenseplate').asString, [rfReplaceAll, rfIgnoreCase]);
    scMemo_Message.Text := StringReplace(scMemo_Message.Text,'[CHAUFFEUR]',dmMain.Registration.FieldByName('DriverName').asString, [rfReplaceAll, rfIgnoreCase]);

  5. #5
    Werkt perfect nu...thanks

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
  •