Results 1 to 11 of 11

Thread: Lengte string

  1. #1
    Senior Member
    Join Date
    Jan 2005
    Location
    Waspik
    Posts
    579

    Lengte string

    In Delphi werkt navolgende prima.
    TPL_bestand is een tstringlist en ik wil dus de lengte van regel 25 bepalen.

    Lazarus geeft als foutmelding: Illegal qualifier

    Code:
      nlengteString := Tpl_bestand[25].Length;

  2. #2
    Ik heb met de code dezelfde foutmelding.
    Met
    Code:
        nlengteString := Length(Tpl_bestand[25]);
    is de foutmelding niet aanwezig.
    Overigens geeft codecompletion ook length niet als suggestie...

  3. #3
    In welke versie van Delphi werkt dat prima? Is het misschien een class/type/record helper die die Length property verzint? De functionele versie van MaartenW is de versie die ik altijd gebruik, en die zou denk ik moeten werken in alle versies van Delphi en Lazarus.
    1+1=b

  4. #4
    Senior Member
    Join Date
    Jan 2005
    Location
    Waspik
    Posts
    579
    Ik kreeg wel een rood kringeltje onde lengte als zijnde fout, maar er werd netjes gecompileerd.
    Bovenstaan voorbeeld laat geen fout zien.

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Kunnen Delphi XE3 extensies zijn (type helper's voor native types). Dat zit pas _net_ in FPC trunk, dus dat is nog lang, lang niet in releases.

    Vermeldt volgende keer aub de Delphi versie, dat maakt raden een stuk makkelijker :-)

  6. #6
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Die code zou werken als je een implementatie van .length maakt in FPC.
    Lazarus heeft dat echter nog lang niet allemaal geimplementeerd, maar FPC 2.7.1 kan het wel. Het is niet de compiler, maar Lazarus. Maar dat zal wel snel worden bijgewerkt. Het is een library kwestie, geen compiler kwestie meer. VB gegeven lazarus 1.1/fpc2.71 trunk:
    Code:
    program teststringhelper;
    {$APPTYPE CONSOLE}
    {$MODE DELPHIUNICODE}
    
    type
    
    TStringhelper = record helper for string
       function Length:integer;
    end;
    
    function TStringhelper.Length:integer;
    begin
      Result:=system.length(self);// anders ambigue
    end;
    
    var a:string;
    begin
     a:= 'de compiler heeft dat al in 2.7.1'; 
     writeln(a,' -lengte: ',a.length);
    end.
    Lazarus moet dat gewoon allemaal nog implementeren. Dat komt wel. Maar je kan het dus zelf ook en het is erg simpel.
    edit:
    Op het moment dat je de vraag stelde ging mijn voorbeeld bijna nog niet op, trouwens. Zo nieuw is het.
    Ook: ik beschuldig de Lazarus maintainers een beetje terwijl dit vb juist bij de rtl thuis hoort. Maar de compiler kan het nu dus.
    Last edited by Thaddy; 05-Mar-13 at 20:42.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  7. #7
    Quote Originally Posted by Thaddy View Post
    Lazarus moet dat gewoon allemaal nog implementeren. Dat komt wel. Maar je kan het dus zelf ook en het is erg simpel.
    Dat heeft niets met Lazarus te maken, gaat puur om de taal, dus fpc.

    Bart

  8. #8
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Quote Originally Posted by Bart B View Post
    Dat heeft niets met Lazarus te maken, gaat puur om de taal, dus fpc.

    Bart
    Dat had ik toch al netjes gecorrigeerd, bart? Zie de edit....
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  9. #9
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    @Bart: over "taal", net zoals bij Delphi is het maar de vraag hoe je dat interpreteert. Ook in Delphi is het een kwestie van de rtl (de compiler doet dat niet met compiler magic). En puristen zullen zeggen dat dat niet bij de "taal" hoort, maar implementatief is met wat met de taal kan. Maar ik zat fout en had gecorrigeerd dat het aan Lazarus lag. Het is een rtl kwestie en hoort bij de library maintainers van fpc rtl/fcl te liggen.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  10. #10
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Even voor de duidelijkheid: IMHO hoort het op de puinhopen van de historie :-)

  11. #11
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,211
    Quote Originally Posted by marcov View Post
    Even voor de duidelijkheid: IMHO hoort het op de puinhopen van de historie :-)
    Tempo doeloe anyway, dus?
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

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
  •