Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Datenmanipulation Kategorie: Programmierung (von Volker - 27.11.2005 13:18)
Als Antwort auf Re: Datenmanipulation von krassos - 25.11.2005 19:46

> > > Hallo Volker,
> > >
> > > wie wär es mit der guten alten BCD-Zerlegung?
> > > Wenn Du einen AnstoÃ? brauchst, schau Dir mal André's  .zahl -Funktionen in hwcom.c2 und rblcd.c2 an.
> > >
> > > GruÃ? krassos
> >
> > Hallo krassos,
> >
> > vielen Dank für den Tipp..
> >
> > Habe ich mir angeschaut. DenkanstoÃ? gut, aber es rasselt nicht weiter!? Ich verstehe die Funktionen
> > von Andre´ so, dass er die benötigten Zahlen auf die einerstelle bringt und dann mit der Funktion num()
> > das Zeichen schreibt. Meiner Meinung nach ignoriert die Funktion num() führende Stellen.
> > Ich will aber die Einerstelle ohne führende andere Stellen isolieren.
> >
> > Nemen wir als Beispiel wieder die Zahl 1234.
> >
> > Um die 1 zu isolieren funktioniert das ganze, wenn ich die Zahl durch 1000 teile.
> > 1234/1000 = 1 (1 steht alleine, kann ich dann in ein Byte kopieren)
> >
> > Wenn ich aber die Zahlen 2 und folgende isolieren will, bleiben immer die führenden Zahlen übrig
> > (Int-Variable)!
> >
> > 1234/100 = 12 (Hier will ich nur die 2)
> > 1234/10 = 123 (Hier will ich nur die 3)
> >
> > Müsste doch ganz einfach sein!? Ich steh auf dem Schlauch...
> >
> > GruÃ?
> >
>
> Hallo Volker,
>
> ist ganz einfach, komm runter vom Schlauch...
>
> Das Verfahren geht so:
>
> Int-Variablen vorausgesetzt.
>
> 1234/1000 = 1
> 1234-1*1000=234
>
> 234/100=2
> 234-2*100=34
>
> 34/10=3
> 34-3*10=4
>
> hth
>
> Grú� krassos

Hallo krassos,

vielen Dank für deine Tipps, anbei meine funktionierende Umsetzung der Datumsspeicherung in einem
Byte-Array:

                Zehner = (system.day()/10);//Zehnerstelle isolieren
                Einer = (system.day() - Zehner * 10);//Einerstelle isolieren
                DatPointer = 0;//0
                sms[DatPointer] = Zehner + 48;//Ascii in Array speichern
                DatPointer = DatPointer + 1;//1
                sms[DatPointer] = Einer + 48;//Ascii in Array speichern
                //Zerlegung Monat
                Zehner = (system.month()/10);
                Einer = (system.month() - Zehner * 10);
                DatPointer = DatPointer + 1;//2
                sms[DatPointer] = Zehner + 48;
                DatPointer = DatPointer + 1;//3
                sms[DatPointer] = Einer + 48;
                //Zerlegung Jahr
                Zehner = (system.year()/10);
                Einer = (system.year() - Zehner * 10);
                DatPointer = DatPointer + 1;//4
                sms[DatPointer] = Zehner + 48;
                DatPointer = DatPointer + 1;//5
                sms[DatPointer] = Einer +48;


Viele Grü�e

Volker
>
>
>
>
>


    Antwort schreiben


Antworten: