Casio FX-850P Handy-Control

HANDYCONTROL

Ein Programm zur Kontrolle der Guthabenminuten eines Handyvertrages

HANDYCONTROL (6.553 Bytes)

10 ' P-6 => Handy-Control 0.32
20 ' 26.10.2006 , 04:11
30 CLS:SET N:PRINT CHR$(9);
100 ' Initialisierung
105 DEFCHR$(252)="04aa2aaa1e"
110 DEFCHR$(253)="1ca222a21c"
115 DEFCHR$(254)="3c8202843e"
117 PRINT" HC-032 init ";
120 HGH=50:' Minuten je Monat
125 DIM TEL(31),MON$(12),TAG$(6),ANZ(12)
130 RESTORE 160
135 ANZ(0)=0:FOR X=1 TO 12
140 READ MON$(X),Y:PRINT"*";
145 ANZ(X)=ANZ(X-1)+Y
150 NEXT X:PRINT" * ";
160 DATA Jan,31,Feb,28,Mar,31,Apr,30,Mai,31,Jun,30,Jul,31,Aug,31,Sep,30,Okt,31,Nov,30,Dez,31
165 IF JJ=2008 THEN FOR LL=2 TO 12:ANZ(LL)=ANZ(LL)+1:NEXT LL
170 RESTORE 190
175 FOR X=0 TO 6
180 READ TAG$(X)
185 NEXT X:PRINT"*";
190 DATA SONntag,MONtag,Dienstag,Mittwoch,DONnerstag,FREitag,Samstag
195 JJ=2006:' aktuelles Jahr
200 IF TAG3>0 AND MON3>0 THEN 400
205 PRINT:INPUT" Ziel-Datum (tt.mm) : ",ZD$:IF LEN(ZD$)<>5 THEN 195
210 TAG3=ABS(INT(VAL(LEFT$(ZD$,2))))
215 MON3=ABS(INT(VAL(RIGHT$(ZD$,2))))
220 IF TAG3<1 OR TAG3>31 OR MON3<1 OR MON3>12 THEN 195
225 PRINT " Ich denke nach ...";
250 IF MON3=2 AND TAG3>29 THEN MON3=0:TAG3=0:GOTO 195
255 IF (MON3=4 OR MON3=6 OR MON3=9 OR MON3=11) AND TAG3>30 THEN MON3=0:TAG3=0:GOTO 195
260 Z=JJ/100:Z=JJ-100*INT(Z):X=JJ/400
265 IF TAG3=29 AND MON3=2 AND Z=0 AND X>INT(X) THEN MON3=0:TAG3=0:GOTO 195
270 M1=MON3:J1=JJ:MON3=MON3-2:IF MON3<1 THEN MON3=MON3+12:JJ=JJ-1
275 C=INT(JJ/100):A=JJ-100*C:B=INT((13*MON3-1)/5)+INT(A/4)+INT(C/4)
280 MON3=M1:JJ=J1:W=A+B+TAG3-C-C:W=W-INT(W/7)*7
285 CLS:PRINT " ";TAG$(W);",";TAG3;CHR$(29);".";MON$(MON3);JJ
290 W3=W
400 ' MENUE
405 TAG3$=TAG$(W3)
410 CLS
420 PRINT " HANDY - CONTROL V 0.32  (L/S) ";:PRINT
430 PRINT " [E]in [A]us [R]es [B]er [Q]uit";
440 X$=INPUT$(1)
450 IF X$="E" THEN 1010
455 IF X$="L" THEN 6010
460 IF X$="A" THEN 2010
465 IF X$="S" THEN 7010
470 IF X$="R" THEN 8010
480 IF X$="B" THEN 3010
490 IF X$<>"Q" THEN 410
500 CLS
510 PRINT"Memory:";
515 PRINT FRE 1;
520 PRINT"Stack:";
525 PRINT FRE 0;
530 END
1000 ' EINGABE
1010 CLS
1015 X$="":TAG=0:MON=0
1020 INPUT" Datum (TT.MM)  ",X$:IF X$="Q" THEN 410
1025 IF LEN(X$)<>5 THEN 1010
1030 TAG=VAL(LEFT$(X$,2))
1032 TAG1=TAG
1035 M$=RIGHT$(X$,2):MON=VAL(M$)
1037 MON1=MON
1040 IF TAG<1 OR TAG>31 OR MON<1 OR MON>12 THEN 1010
1045 PRINT " Ich denke nach ...";
1060 TIJ1=TAG1+ANZ(MON1-1):TIJ3=TAG3+ANZ(MON3-1)
1065 CLS:PRINT TIJ3;"-";TIJ1;"=";
1070 DIFF3=TIJ3-TIJ1+1:WE=INT(DIFF3/7)*2
1075 PRINT DIFF3;"[";WE;"]";:PRINT
1085 PRINT DIFF3;"- (";WE;
1090 IF W3=6 THEN WE=WE+1:PRINT"+ 1 ";
1100 IF W3=7 THEN WE=WE+2:PRINT"+ 2 ";
1110 IF W=7 THEN WE=WE+1:PRINT"+ 1 ";
1120 IF W=6 THEN WE=WE+2:PRINT"+ 2 ";
1130 IF WE=0 THEN IF W3<>6 AND W3<>7 AND W<>7 AND W<>6 AND W3<=THEN WE=WE+2:PRINT"+ 2 ";
1135 PRINT") =";
1150 DIFF3=DIFF3-WE:PRINT DIFF3;"Tage(e)";
1155 FOR XXL=1 TO 300:NEXT XXL
1160 IF DIFF3<=0 THEN DIFF=1
1240 IF MON=2 AND TAG>29 THEN 1010
1250 IF (MON=4 OR MON=6 OR MON=9 OR MON=11) AND TAG>30 THEN 1010
1260 Z=JJ/100:Z=JJ-100*INT(Z):X=JJ/400
1270 IF TAG=29 AND MON=2 AND Z=0 AND X>INT(X) THEN 1010
1280 M1=MON:J1=JJ:MON=MON-2:IF MON<1 THEN MON=MON+12:JJ=JJ-1
1290 C=INT(JJ/100):A=JJ-100*C:B=INT((13*MON-1)/5)+INT(A/4)+INT(C/4)
1300 MON=M1:JJ=J1:W=A+B+TAG-C-C:W=W-INT(W/7)*7
1305 CLS:PRINT " ";TAG$(W);",";TAG;CHR$(29);".";MON$(MON);JJ;:PRINT
1310 IF W=0 OR W=6 THEN PRINT" Wochenende !!! <Taste> ";:X$=INPUT$(1):GOTO 410
1315 PRINT" Zeit (mm:ss) ";:XZ1$=INPUT$(1):IF XZ1$="Q" THEN 410
1320 PRINT XZ1$;:INPUT"",XZ$
1330 XZ$=XZ1$+XZ$
1355 IF LEN(XZ$)<>5 THEN 1315
1360 MIN$=LEFT$(XZ$,2):MIN=ABS(INT(VAL(MIN$)))
1365 SEK$=RIGHT$(XZ$,2):SEK=ABS(INT(VAL(SEK$)))
1370 IF SEK>59 THEN 1315
1375 IF MIN=0 AND SEK>0 THEN MIN=1:SEK=0
1380 TEL(TAG)=TEL(TAG)+MIN+(SEK/60)
1998 GOTO 3010
1999 END
2000 ' AUSGABE
2010 CLS
2025 SUMMIN$=STR$(INT(HSUMME))
2026 SUMMIN$=RIGHT$(SUMMIN$,LEN(SUMMIN$)-1)
2027 IF LEN(SUMMIN$)=1 THEN SUMMIN$="0"+SUMMIN$
2030 SUMSEK$=STR$(INT((HSUMME-INT(HSUMME))*60+.5))
2031 SUMSEK$=RIGHT$(SUMSEK$,LEN(SUMSEK$)-1)
2032 IF LEN(SUMSEK$)=1 THEN SUMSEK$="0"+SUMSEK$
2035 PRINT" ";SUMMIN$;":";SUMSEK$;" - ";:' bisher verbraucht
2040 BLMIN$=STR$(INT(HGH-HSUMME))
2041 BLMIN$=RIGHT$(BLMIN$,LEN(BLMIN$)-1)
2042 IF LEN(BLMIN$)=1 THEN BLMIN$="0"+BLMIN$
2045 BLSEK$=STR$(INT(((HGH-HSUMME)-INT(HGH-HSUMME))*60+.5))
2046 BLSEK$=RIGHT$(BLSEK$,LEN(BLSEK$)-1)
2047 IF LEN(BLSEK$)=1 THEN BLSEK$="0"+BLSEK$
2050 PRINT BLMIN$;":";BLSEK$;" =>";
2055 IF DIFF3<=0 THEN DIFF3=1
2060 PRINT DIFF3;"x ";:PTM=INT((HGH-HSUMME)/DIFF3):PTM$=STR$(PTM)
2062 PTM$=RIGHT$(PTM$,LEN(PTM$)-1):IF LEN(PTM$)=1 THEN PTM$="0"+PTM$
2070 PRINT PTM$;":";
2080 PTS=((HGH-HSUMME)/DIFF3)-INT((50-HSUMME)/DIFF3):PTS=60*PTS
2082 PTS=INT((PTS*100+.5)/100):PTS$=STR$(PTS)
2084 PTS$=RIGHT$(PTS$,LEN(PTS$)-1):IF LEN(PTS$)=1 THEN PTS$="0"+PTS$
2086 PRINT PTS$;:PRINT
2088 PRINT " bis ";TAG3$;",";TAG3;CHR$(29);". ";MON$(MON3);JJ
2100 CLS:PRINT"Einzelnachweis ? [j/N] ";:X$=INPUT$(1)
2110 IF X$<>"J" THEN 410
2120 CLS
2130 FOR X=1 TO 31
2140 IF TEL(X)=0 THEN 2300
2150 ENWMIN$=STR$(INT(TEL(X)))
2160 ENWMIN$=RIGHT$(ENWMIN$,LEN(ENWMIN$)-1)
2170 IF LEN(ENWMIN$)=1 THEN ENWMIN$="0"+ENWMIN$
2180 ENWSEK$=STR$(INT((TEL(X)-INT(TEL(X)))*60+.5))
2190 ENWSEK$=RIGHT$(ENWSEK$,LEN(ENWSEK$)-1)
2200 IF LEN(ENWSEK$)=1 THEN ENWSEK$="0"+ENWSEK$
2210 PRINT" am";X;CHR$(29);".";TAB(10);ENWMIN$;":";ENWSEK$
2300 NEXT X
2998 GOTO 410
3000 ' BERECHNUNG
3010 CLS:HSUMME=0
3015 PRINT" Moment, ich rechne ... ";:PRINT
3020 FOR X=1 TO 31
3025 HSUMME=HSUMME+TEL(X)
3027 PRINT"*";
3030 NEXT X
3998 GOTO 410
6000 ' LADEN
6010 CLS:PRINT " Bitte warten ...";:PRINT
6020 SUMME=0
6100 RESTORE#:RESTORE# "Handy"
6105 PRINT"*";:READ# X$
6110 FOR X=1 TO 31
6120 PRINT"*";:READ# TEL(X)
6130 HSUMME=HSUMME+TEL(X)
6140 NEXT X
6150 READ# TIJ1
6155 READ# TIJ3
6160 READ# DIFF3
6165 READ# WE
6170 READ# W3
6999 GOTO 410
7000 ' SPEICHERN
7010 CLS:PRINT" Bitte warten ...";:PRINT
7100 RESTORE#:RESTORE# "Handy"
7105 PRINT"*";:WRITE# "Handy"
7110 FOR X=1 TO 31
7120 PRINT"*";:WRITE# TEL(X)
7140 NEXT X
7150 WRITE# TIJ1
7155 WRITE# TIJ3
7160 WRITE# DIFF3
7165 WRITE# WE
7170 WRITE# W3
7999 GOTO 410
8000 ' RESET
8010 CLS
8020 PRINT" Alles l";CHR$(253);"schen  ?  ";:X$=INPUT$(1):PRINT X$;:PRINT
8030 IF X$<>"J" THEN 410
8040 PRINT" Sind Sie sicher ? ";:X$=INPUT$(1)
8050 IF  X$<>"J" THEN 410
8060 CLS:PRINT" ... bitte warten ... ";:PRINT
8065 FOR LL=1 TO 500:NEXT LL
8070 CLEAR
8500 GOTO 110
9996 END
9997 ' ======================
9998 ' (C) 2006 by esra-Soft
9999 ' ======================

Generated by (c) Casio FX-850P/FX-880P Notepad 2.00

(C) 2006 by esra-SOFT - esra.esra@arcor.de - http://blog.manib.bplaced.net