logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[bascom] problem ze string'ami

szeryfff 12 Gru 2010 13:20 1353 6
REKLAMA
  • #1 8858378
    szeryfff
    Poziom 24  
    Witam,
    mam mały problem ze stringami w Bascomie. Może pokaże to na prostym przykładzie.
    
    dim tekst as string * 10
    dim tekst1 as string * 2
    dim zmienna as long
    
    zmienna  = 12345
    
    tekst1 = str(zmienna)
    tekst = format(tekst1, "0.0")
    


    I teraz wynik jest taki, że zmienna tekst1 = 123 (nie powinna 12, skoro jest string * 2 ? ), a zmienna tekst = 1234.5.

    Czy można jakoś zrobić tak, żeby zmienna tekst miała tyle samo znaków co tekst1 (czyli 12.3)? Zadeklarowanie jej jako string*2 nie wchodzi w grę.
    Myślałem, że skoro tekst1 ma 3 znaki, to tekst nie powinna być dłuższa, ale się przeliczyłem :)

    Pozdrawiam
  • REKLAMA
  • #2 8858738
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 8858809
    szeryfff
    Poziom 24  
    Program to komputer pokładowy w samochodzie.
    Wszystko wyświetlane na LCD od siemensa, program do wyświetlania napisany przez Ciebie :)

    I teraz tak: program do wyświetlania wyświetla to, co ma w zmiennej Text (as string * 13).

    W kilku podprogramach obliczam przejechaną drogę, spalanie, itd.
    Jak obliczam spalanie, to mam np. wynik 115 (co oznacza 11,5 litra). Żeby wynik był postaci 11.5 muszę te 115 wpisać do zmiennej tekstowej, a dopiero potem sformatować.
    Ogólnie jest wszystko oki (tzn. wynik obliczeń jest 2 lub 3 cyfrowy dla spalania), ale czasami zdarza się że wynik obliczeń ma więcej cyfr (np. zaraz po skasowaniu spalania), i wtedy mam śmieci na wyświetlaczu, bo jak sam wiesz, wyświetlacza nie trzeba w całości czyścic przed pisaniem, można nadpisywać fragmenty.

    Mam nadzieję że teraz wiesz o co mi chodzi :) Jak nie to pytaj, będę dalej tłumaczył:)
    Pozdrawiam
  • REKLAMA
  • #4 8858862
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #5 8858985
    szeryfff
    Poziom 24  
    A jak ją przyciąć?
    Teoretycznie mam tak zrobione obliczenia, żeby wyszła liczba max 3 cyfrowa.
    Ale czasami zdarza się, że wynik wychodzi większy (np. na postoju impulsy wtrysku są zliczane, a przejechana droga jest 0, i jak przejadę np. 0,1m, i impulsów zliczyło sporo, to pierwszy wynik ma więcej cyfr, i robi się śmietnik).
  • #6 8859070
    Konto nie istnieje
    Poziom 1  
  • #7 10232349
    szeryfff
    Poziom 24  
    Oczywiście sposób opisany przez atom1477 sprawdził się w 100% :)
REKLAMA