Results 1 to 7 of 7

Thread: warning met str functie oplossen

  1. #1

    warning met str functie oplossen

    Hallo,

    Voor het maken van de juiste labels bij de as van een grafiek gebruik ik de str routine van Delphi om een getal met het juiste aantal decimalen weer te geven
    Echter ik krijg hier een warning op
    [dcc64 Warning] pdfSuite.pas(397): W1057 Implicit string cast from 'ShortString' to 'string'

    In mijn code is de output voor de str functie gedefinieerd als string maar toch blijf ik de warning houden

    Code:
    var na: string;
    
    begin
       for i :=  0 to round(abs((yAxis.nicemax - yAxis.nicemin) / yAxis.TickSpacing + 1))-1 do
       begin
           line(xAxis.nicemin-0.01*(xAxis.nicemax-xAxis.nicemin),yAxis.NiceMin+i*yAxis.TickSpacing,xAxis.nicemin,yAxis.NiceMin+i*yAxis.TickSpacing);
           str(yAxis.nicemin+i*yAxis.TickSpacing: 10: yAxis.getdecimals, na);  // het gaat dus om deze regel
    
           Tlabel(xAxis.nicemin-0.02*(xAxis.nicemax-xAxis.nicemin),yAxis.NiceMin+i*yAxis.TickSpacing,trim(na));
       end;
    end;
    Hoe moet ik na typecasten zodat ik deze warning niet meer krijg

    Alvast bedankt voor het meedenken

  2. #2
    Dat staat hier ook beschreven in de note.
    https://docwiki.embarcadero.com/Libr.../en/System.Str

    Misschien handiger om een format() te gebruiken.

  3. #3
    Delphi Code:
    1. var na: ShortString;

    Heeft Delphi iets als {$WARN OFF}, of een commandline switch om een specifieke warning uit te zetten?

    Bart

  4. #4
    {$WARN IMPLICIT_STRING_CAST OFF}

    Hier staat het hele rijtje
    https://marc.durdin.net/2012/05/delp...nings-options/

  5. #5
    Thanks, aangezien het maar in twee routines gebruikt wordt heb ik in deze routines de volgende oplossing gebruikt
    {$WARN IMPLICIT_STRING_CAST OFF}
    //code
    {$WARN IMPLICIT_STRING_CAST ON}

  6. #6
    Delphi heeft geen {$PUSH} en {$POP} voor compiler switches?

    Bart

  7. #7
    Quote Originally Posted by Bart B View Post
    Delphi heeft geen {$PUSH} en {$POP} voor compiler switches?
    Nope.

    Er is een Feature request gedaan zo'n 15 jaar geleden maar tot op heden is dit nog niet mogelijk.
    https://web.archive.org/web/20171220...n.aspx?d=56908

    Het is wel mogelijk om met een ifdef constructie de huidige waarde uit te lezen en dan alleen uit en in te schakelen als die aan stond maar dat is een heel gedoe.

    https://quality.embarcadero.com/browse/RSP-14045
    https://quality.embarcadero.com/browse/RSP-38847

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
  •