Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [delphi] incrementare una stringa di valori

    Ho la necessità di incrementare di 1 unità una stringa di valori.... ovvero
    se io ho una stringa: A12 e voglio fare A12+1=A13 in maniera tale che quando arrivo a A99+1=B00 .... come posso fare?

  2. #2
    devi fare per forza il parsing della stringa, qual'è la sua specifica (sempre di tre caratteri il primo una lettera maiuscola seguita sempre da due cifre, o può essere qualcosa d'altro?).
    ciao
    sergio

  3. #3
    a dire la verità volevo fare una cosa abbastanza generalizzata

  4. #4
    comunque la specifica della stringa di partenza devi saperla:
    - se ha un numero fisso di caratteri
    - se può essere caratteri e numeri mischiati a piacere
    - se sono prima i caratteri e poi i numeri
    e così via.
    Nota la specifica si crea un piccolo parser adeguato.
    ciao
    sergio

  5. #5
    mmh allora mettiamo che sia 1/2 lettere e poi il numero ad esempio A21

  6. #6
    se i primi due sono caratteri e gli ultimi due sono numeri puoi scomporre la stringa nelle sue due parti
    codice:
    var
      str, str_char, str_num : string;
      num : integer;
    
    begin
    
      str  := 'AA12';
      str_char := Copy (str, 1, 2);
      str_num := Copy (str, 3, 2);
    
      // incremento str_num di una unità
      num := StrToInt (str_num);
      num := num + 1 ;
    
      // ritrasformo in string
      if ( num >= 100 ) then begin
        num := 0;
        // devo modificare anche str_char
        // prova a farlo tu
      end;
    
    
      str_num := IntToStr(num);
    
      if ( Len(str_num) = 1 ) then
        str_num := '0' + str_num;
    
      str := str_char + str_num;
    
    end;
    ciao
    sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.