weer ff programmer hulp :-)

Gewoon even offtopic praten over van alles en nog wat.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

weer ff programmer hulp :-)

Bericht door Swets »

ik wil een getal splitsen in eenheden,tientallen, honderdtallen en duizend tallen...

maar ik zoek zo kort mogelijke verhaaltje....

Code: Selecteer alles

testgetal:=3567;

tmp1 := MOD (IN1 := testgetal,IN2 := 10);
tmp2 := MOD (IN1 := testgetal-tmp1,IN2 := 100)/10;
tmp3 := MOD (IN1 := testgetal-((tmp2*10)-tmp1),IN2 := 1000)/100;
tmp4 := mod (in1 := testgetal-((tmp3*100)-(tmp2*10)-tmp1),in2 :=10000)/1000;
ik heb nu dit... en dit werkt.... maar ik heb het gevoel dat dit niet het kortste is...

en ik wil eigenlijk ook niet die (tmp) tussen variabelen...

dus eigenlijk 1 variabele.... en dan een formule voor de eenheden, formule voor de tientallen, honderdtallen...… enz enz…

en er zitten hier nogal wat slimme mensen.... :-)
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
DaBit
Donateur
Berichten: 11032
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: weer ff programmer hulp :-)

Bericht door DaBit »

Code: Selecteer alles

#include <stdio.h>

main()
{
        int testgetal = 124578;
        while (testgetal > 0) {
                printf ("%d\n", testgetal % 10);
                testgetal /= 10;
        }
}

Code: Selecteer alles

dabit@ryzen:~$ ./test
8
7
5
4
2
1
In plaats van de getalletjes printen kun je ze ook in een array zetten.

in C is % de modulus, / is delen.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door Swets »

huh? :-)

ik zoek eigenlijk een 1 formule voor eenheid, een voor tiental, eentje voor honderdtal en eentje voor duizend tal....

ik moet in een hmi scherm een supergroot een numerieke waarde laten zien...

dus ik heb 10 plaatjes met de getallen 0 t/m 9 en die wil ik aan de hand van de waarden laten zien.....

nu kan ik in de tag-varabelen in dat scherm , daar waar je de variabelen in vult, ook een formule zetten..... alleen niet te lang.... dus van daar dat ik iets niet te lang zoek....
http://www.arjan-swets.com (met cnc filmpjes)
Lude
Berichten: 862
Lid geworden op: 04 jan 2008 21:01
Locatie: Groningen

Re: weer ff programmer hulp :-)

Bericht door Lude »

Zoiets?

digit1 = MOD(testgetal,10)
digit2 = MOD(testgetal,100)
digit3 = MOD(testgetal,1000)
etc...
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door Swets »

Lude schreef: 13 mei 2020 09:11 Zoiets?

digit1 = MOD(testgetal,10)
digit2 = MOD(testgetal,100)
digit3 = MOD(testgetal,1000)
etc...
geeft dit als resultaat:

https://www.dropbox.com/s/b5zlv5mpbs0v8vg/mod1.png?dl=0

dus bij mijn test getal :3567
7
67
567
3567
http://www.arjan-swets.com (met cnc filmpjes)
Lude
Berichten: 862
Lid geworden op: 04 jan 2008 21:01
Locatie: Groningen

Re: weer ff programmer hulp :-)

Bericht door Lude »

Stom, mijn fout.

In excel werkt dit:
digit1 = MOD(testgetal;10)
digit2 = FLOOR(MOD(testgetal/10; 10);1)
digit3 = FLOOR(MOD(testgetal/100; 10);1)
digit4 = FLOOR(MOD(testgetal/1000; 10);1)

Dit is wat in het C voorbeeldje ook gebeurd door de deling van een int wordt hij afgerond
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door Swets »

Bedankt!!!

tis gelukt...

https://youtu.be/GICK6jQ3dLQ

Kon dus inderdaad korter...
nu de plaatjes een beetje opknappen....
http://www.arjan-swets.com (met cnc filmpjes)
Lude
Berichten: 862
Lid geworden op: 04 jan 2008 21:01
Locatie: Groningen

Re: weer ff programmer hulp :-)

Bericht door Lude »

8) nice!
Geen dank
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12041
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door hugo stoutjesdijk »

Altijd leuk die programmeer truucjes. Kun je zo lang naar zoeken als je er niet ervaren in bent.
Had je HMI zo'n groot font niet?
Ik denk dat ik er een string van gemaakt had, en dan de ascii waarde per positie gebruikt. (maar ook daar moet ik lang over puzzelen voor ik het werkend heb :lol: ) De volgende keer bekijk ik deze methode eens, moet ik wel even een kopietje opslaan want anders kan ik het natuurlijk weer niet terug vinden :evil: .
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door Swets »

niet zo mooi font... :-)...

en het scherm pakket kan BMP,png,jpg en EMF.... en Ik heb die laatste gebruikt.... dat is ook een vector bestand.... en dat heeft als voordeel, als ik het uitrek blijft het mooi....

en ik heb de cijfers zo gemaakt dat het getal doorzichtig is, en de rand een zwart vierkant.... nu kan ik ze verschillende kleuren geven door er een gekleur vlak onder te liggen....
en je kan plceholders aan maken... is eigelijk $temp$ in de tag.... en dan kan je in 1 keer al die $temp$ vervangen door een andere variabele..... dus ik heb nu een groep van 4 van die displays... en dmv wat ik hier vroeg staat er bij dat eerste display $temp$%10 bij de 2de ($temp$/10)%10 enz enz dus nu heb ik een handig display.... :-) zat me te vervelen...
Laatst gewijzigd door Swets op 17 mei 2020 22:03, 1 keer totaal gewijzigd.
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
Swets
Berichten: 2662
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: weer ff programmer hulp :-)

Bericht door Swets »

was trouwens helemaal aan het spelen.... ik had ook een Arduino met zo'n ethernet uitbreiding aan de plc gekoppeld via modbus....

en op die arduino een DS18B20 temperatuur sensor op het HMI scherm laten zien..... en op een andere auduino met een tft schermpje een waarde uit de plc zichtbaar gemaakt....
gewoon een beetje spelen..... :-)

zitten er nu ook aan te denken om bijvoorbeeld in de besturings kast zo temperatuur meting te zetten... :-)
http://www.arjan-swets.com (met cnc filmpjes)
Plaats reactie