Suma cyfr z ciagu znakow ( textbox)

0

Witam,
Jestem tu nowy i nigdzie nie znalazłem odpowiedzi na moje pytanie, jedynie podpowiedź, ze mogę to zrobić na tablicach.

Stworzylem mała bazę danych która z textboxa wrzuca dane do listview
Wszystko działa super tylko chciałbym aby numer klijenta miał pewna opcje, mianowicie:
Pierwsza osoba dostaje wygenerowany (wpisany) przeze mnie numer [to mam zrobione]
Druga osoba dostaje sumę cyfr osoby pierwszej
Trzecia osoba dostaje sumę cyfr osoby drugiej itd.

Np. Osoba pierwsza numer konta: 123456
Wiec osoba druga numer konta: 1+2+3+4+5+6 = 21
trzecia osoba: 2+1= 3

Jeżeli tak jak w przypadku osoby 3 nie da się zsumować niech program doda do niego jakaś cyfrę np. 46

0

A nie możesz zamienić sprawdzić poprzedniej osoby w bazie, prze konwertować tą wartość, do stringa, następnie zrobić pętle sumującą cyfry pojedyńczo do zmiennej integer?

Np.: (tylko że w Delphi, ale Visual C++ jest dość podobny, chyba):

 
var
 text:string;
 x,suma:integer

Begin
 //pobranie numeru poprzedniej osoby w bazie do zmiennej suma;
 text:=inttostr(suma);
 suma:=0;
 For x:=1 to length(text) do
 Begin
  Suma:=Suma+strtoint(text[x]);
 End;
End; 

Albo coś w tym stylu
Pozdro

0

Niestety nie jestem biegłym programistą.

To co napisałeś wyżej, jest całkiem sensowne tylko problem tkwi w tym, że nie wiem jak zamienić to na język programowy.

0

Masz co najmniej dwie opcje

  • TextBox ma swoj property (string) Text (TextBox.Text). String można potraktować jako tablicę charów, a każdy z nich konwertować możesz do inta czy byte, jak wolisz, a więc mozesz dodać po prostu kolejne elementy tablicy do siebie co nie jest żadnym problemem.
  • TextBox.Text możesz potraktowac w całości jako liczbę i wtedy, jeśli np. jest czterocyfrowa to Liczba/1000 to jej liczba tysięcy, (Liczba-LiczbaTysięcy*1000)/100 = liczbaSetek itd. potem dodajesz te liczby i masz sumę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1