Un programme en qbasic pour calculer les nombres premiers entre 1 et 1000, ou plus 2000,10000...
Un extrait en exemple. Demandez moi le programme, je vous l’enverrai avec votre adresse mail.
Mon Blog
Un programme en qbasic pour calculer les nombres premiers entre 1 et 1000, ou plus 2000,10000...
Un extrait en exemple. Demandez moi le programme, je vous l’enverrai avec votre adresse mail.
Vous avez un ancien programme avec une série de numéro de lignes, vous voulez l'adapter en le rendant plus clair.
A l'ancien temps Crosoft avait fait un logiciel en basic permettant de supprimer les numéros de lignes inutiles.
Impossible de le retrouver chez Crosoft, mais dans mes archives, il existe.
Le voici :
DEFINT A-Z
'
' Microsoft SupLigne - Utilitaire de suppression des numéros de ligne
' Copyright (C) Microsoft Corporation - 1985, 1986, 1987, 1988, 1989
'
' SUPLIGNE.BAS est un programme qui supprime les numéros de ligne des
' programmes écrits en BASIC Microsoft. Il ne supprime que les numéros de
' ligne ne qui font pas l'objet de l'une des instructions suivantes :
' GOSUB, RETURN, GOTO, THEN, ELSE, RESUME, RESTORE, ou RUN.
DECLARE FUNCTION CherchElement$ (Recherche$, Separ$)
DECLARE FUNCTION ExplChaine% (ChaineEntree$, Separateur$)
DECLARE FUNCTION RuptChaine% (ChaineEntree$, Separateur$)
DECLARE FUNCTION EstChiffre% (Car$)
DECLARE SUB CherchNomsFich ()
DECLARE SUB BatiTable ()
DECLARE SUB CreeFichSortie ()
DECLARE SUB InitTableTouches ()
CONST VRAI = -1
CONST FAUX = 0
CONST MaxLignes = 400
DIM SHARED TableLignes!(MaxLignes)
DIM SHARED CompteLignes
DIM SHARED Seps$, FichEntree$, FichSortie$, FichTemp$
CONST CompteMotsCles = 8
DIM SHARED TableMotsCles$(CompteMotsCles)
DonneesTouches:
DATA THEN,ELSE,GOSUB,GOTO,RESUME,RETURN,RESTORE,RUN
Seps$ = " ,:" + CHR$(9)
InitTableTouches
CherchNomsFich
ON ERROR GOTO ErrFich1
OPEN FichEntree$ FOR INPUT AS 1
ON ERROR GOTO 0
COLOR 7: PRINT "Traitement en cours";: COLOR 23: PRINT " . . .": COLOR 7: PRINT
BatiTable
CLOSE #1
OPEN FichEntree$ FOR INPUT AS 1
ON ERROR GOTO ErrFich2
OPEN FichSortie$ FOR OUTPUT AS 2
ON ERROR GOTO 0
CreeFichSortie
CLOSE #1, #2
IF FichSortie$ <> "CON" THEN CLS
END
ErrFich1:
CLS
PRINT " Nom de fichier incorrect": PRINT
INPUT " Entrez un nouveau nom de fichier (puis appuyez sur ENTREE): ", FichEntree$
IF FichEntree$ = "" THEN END
ErrFich2:
INPUT " Nom du fichier de sortie (appuyez sur ENTREE pour l'afficher à l'écran) :", FichSortie$
PRINT
IF (FichSortie$ = "") THEN FichSortie$ = "CON"
IF FichTemp$ = "" THEN
RESUME
ELSE
FichTemp$ = ""
RESUME NEXT
END IF
SUB BatiTable STATIC
DO WHILE NOT EOF(1)
LINE INPUT #1, LigneEntree$
element$ = CherchElement$(LigneEntree$, Seps$)
DO WHILE (element$ <> "")
FOR IndexCles = 1 TO CompteMotsCles
IF (TableMotsCles$(IndexCles) = UCASE$(element$)) THEN
element$ = CherchElement$("", Seps$)
DO WHILE (EstChiffre(LEFT$(element$, 1)))
CompteLignes = CompteLignes + 1
TableLignes!(CompteLignes) = VAL(element$)
element$ = CherchElement$("", Seps$)
IF element$ <> "" THEN IndexCles = 0
LOOP
END IF
NEXT IndexCles
element$ = CherchElement$("", Seps$)
LOOP
LOOP
END SUB
FUNCTION CherchElement$ (Recherche$, Separ$) STATIC
IF (Recherche$ <> "") THEN
PosDebut = 1
ChaineSauv$ = Recherche$
END IF
NouvPos = ExplChaine(MID$(ChaineSauv$, PosDebut, LEN(ChaineSauv$)), Separ$)
IF NouvPos THEN
PosDebut = NouvPos + PosDebut - 1
ELSE
CherchElement$ = ""
EXIT FUNCTION
END IF
NouvPos = RuptChaine(MID$(ChaineSauv$, PosDebut, LEN(ChaineSauv$)), Separ$)
IF NouvPos THEN
NouvPos = PosDebut + NouvPos - 1
ELSE
NouvPos = LEN(ChaineSauv$) + 1
END IF
CherchElement$ = MID$(ChaineSauv$, PosDebut, NouvPos - PosDebut)
PosDebut = NouvPos
END FUNCTION
SUB CherchNomsFich STATIC
IF (COMMAND$ = "") THEN
CLS
PRINT " Microsoft SupLigne : utilitaire de suppression des numéros de ligne"
PRINT " (l'extension .BAS est affectée par défaut si aucune extension n'est spécifiée), le fichier à modifier est un fichier.bas "
PRINT
INPUT " Nom du fichier d'entrée (ENTREE pour terminer) : ", FichEntree$
IF FichEntree$ = "" THEN END
INPUT " Nom du fichier de sortie (ENTREE pour l'afficher) : ", FichSortie$
PRINT
IF (FichSortie$ = "") THEN FichSortie$ = "CON"
ELSE
FichEntree$ = UCASE$(CherchElement$(COMMAND$, Seps$))
FichSortie$ = UCASE$(CherchElement$("", Seps$))
IF (FichSortie$ = "") THEN
INPUT " Nom du fichier de sortie (ENTREE pour l'afficher) : ", FichSortie$
PRINT
IF (FichSortie$ = "") THEN FichSortie$ = "CON"
END IF
END IF
IF INSTR(FichEntree$, ".") = 0 THEN
FichEntree$ = FichEntree$ + ".BAS"
END IF
IF INSTR(FichSortie$, ".") = 0 THEN
SELECT CASE FichSortie$
CASE "CON", "SCRN", "PRN", "COM1", "COM2", "LPT1", "LPT2", "LPT3"
EXIT SUB
CASE ELSE
FichSortie$ = FichSortie$ + ".BAS"
END SELECT
END IF
DO WHILE FichEntree$ = FichSortie$
FichTemp$ = LEFT$(FichEntree$, INSTR(FichEntree$, ".")) + "BAK"
ON ERROR GOTO ErrFich1
NAME FichEntree$ AS FichTemp$
ON ERROR GOTO 0
IF FichTemp$ <> "" THEN FichEntree$ = FichTemp$
LOOP
END SUB
SUB CreeFichSortie STATIC
Sep$ = " " + CHR$(9)
DO WHILE NOT EOF(1)
LINE INPUT #1, LigneEntree$
IF (LigneEntree$ <> "") THEN
element$ = CherchElement$(LigneEntree$, Sep$)
IF EstChiffre(LEFT$(element$, 1)) THEN
NumeroLigne! = VAL(element$)
NumeroTrouve = FAUX
FOR index = 1 TO CompteLignes
IF (NumeroLigne! = TableLignes!(index)) THEN
NumeroTrouve = VRAI
END IF
NEXT index
IF (NOT NumeroTrouve) THEN
element$ = SPACE$(LEN(element$))
MID$(LigneEntree$, ExplChaine(LigneEntree$, Sep$), LEN(element$)) = element$
END IF
END IF
END IF
IF FichSortie$ = "CON" THEN
PRINT LigneEntree$
ELSE
PRINT #2, LigneEntree$
END IF
LOOP
END SUB
FUNCTION EstChiffre (Car$) STATIC
IF (Car$ = "") THEN
EstChiffre = FAUX
ELSE
CarAsc = ASC(Car$)
EstChiffre = (CarAsc >= ASC("0")) AND (CarAsc <= ASC("9"))
END IF
END FUNCTION
FUNCTION ExplChaine% (ChaineEntree$, Separateur$) STATIC
Ln = LEN(ChaineEntree$)
PosDebut = 1
DO WHILE INSTR(Separateur$, MID$(ChaineEntree$, PosDebut, 1))
IF PosDebut > Ln THEN
ExplChaine = 0
EXIT FUNCTION
ELSE
PosDebut = PosDebut + 1
END IF
LOOP
ExplChaine = PosDebut
END FUNCTION
SUB InitTableTouches STATIC
RESTORE DonneesTouches
FOR Comptage = 1 TO CompteMotsCles
READ MotCle$
TableMotsCles$(Comptage) = MotCle$
NEXT
END SUB
FUNCTION RuptChaine (ChaineEntree$, Separateur$) STATIC
Ln = LEN(ChaineEntree$)
PosDebut = 1
DO WHILE INSTR(Separateur$, MID$(ChaineEntree$, PosDebut, 1)) = 0
IF PosDebut > Ln THEN
RuptChaine = 0
EXIT FUNCTION
ELSE
PosDebut = PosDebut + 1
END IF
LOOP
RuptChaine = PosDebut
END FUNCTION
Testez-le
En principe pas de soucis mais au cas ou téléchargez - le avec ce lien
https://app.box.com/s/looeqmslkkilnn1rka8z1wjop8gg4bm1
Un lien qui fonctionne aujourd'hui est :
Recherche Google Money2005-FR-QFE3
sur le site de microsoft télécharger le.
Si le fichier n'était plu disponible contactez moi.
Le fichier msmoney standard 2005 est le fichier
Money2005-FR-QFE3.exe.exe
Supprimer un exe puis lancez-le en w10 avec la compatibilité W7.
Suivez la procédure de l'article du 11 mars 2019.
Si le lien ne fonctionne pas faite une recherche avec ce nom complet :
Money2005-FR-QFE3.exe.exe avec 2 fois exe à la fin.
Si vous ne pouviez pas le trouver je vous enverrai le logiciel en me contactant à l'adresse mail du blog :
j.ai.vu.sur.la.toile@gmail.com
ou sur un site de téléchargement avec le lien suivant :
https://app.box.com/s/i6gs0uj5ahc9i9yqbglq
mis par mes soins.
Le fichier n'est plus disponible chez microsoft.
Par mesure de sécurité quand vous avez un fichier téléchargé, passez le systématiquement avec votre antivirus, au cas ou pendant le transfert un programme malveillant se serait invité.
Il suffit de mettre la formule et le tout dans un QB71 ou 64.
Demandez la moi, si vous ne pouvez l'obtenir ailleurs, testez la et comparez avec ce résultat.
Vous avez AdwareCleaner, ADWCleaner, mais vous voulez remettre les compteurs à zéro.
2 Solutions
1 ouvrez adwcleaner
- allez dans paramètres
*tout en bas vous avez supprimer, si vous supprimez plus de adwcleaner, mais en réinstallant, les compteurs sont à zéro.
2 affichez les dossiers et fichiers cachés (voir sur le net si vous hésitez)
- aller dans C: dossier adwcleaner
* un fichier settings apparait supprimés le
Gros problème de fonctionnement.
La Solution efficace à 100%, c'est quoi?
Vous avez Avast antivirus gratuit, c'est lui qui perturbe le fonctionnement du QB64.
Installez Avira et tout fonctionne normalement, Avast antivirus et peut être bon très bon pour un pc avec lequel vous ne feriez rien d'autre que surfer sur internet et pas plus; sinon vous allez vers des problèmes, comme avec QB64 : impossible d'enregistrer, être détecté comme un logiciel suspect quand vous utilisez un programme créé avec QB64.
C'est la version de 2017 de 260 mo valable en gratuit jusqu'en 2999.
Cette durée de validité est d'origine, pas du tout bricolé, si vous l'avez, installez-la à la place de la suite de maintenant, pour moi elle ne fonctionne pas normalement avec mon windows10, j'ai du remettre la version de 2017.
Voici ce programme qui est une base en programmation et qui permet de voir l'utilisation de plusieurs fonctions.
PRINT "Jeu des allumettes"
SLEEP (2): CLS
INPUT "Ton nom : "; a$
INPUT "Mon nom : "; b$
SLEEP (2): CLS
Toi = 1
NbAl = 15
PRINT "Vous avez 15 allumettes, vous pouvez en prendre soit 1, 2, ou 3"
DO WHILE NbAl <> 0
AlPris = 0
DO
IF Toi = 1 THEN COLOR 14, 0: PRINT " "; a$: COLOR 7, 0 ELSE COLOR 10, 0: PRINT " "; b$: COLOR 7, 0
INPUT "Combien d'allumettes prenez-vous "; AlPris
LOOP UNTIL AlPris >= 1 AND AlPris <= 3 AND AlPris <= NbAl
NbAl = NbAl - AlPris
PRINT "Il reste "; NbAl; " allumettes"
Toi = 3 - Toi
LOOP
IF Toi = 1 THEN COLOR 14, 0: PRINT " "; a$; " à gagné": COLOR 7, 0 ELSE COLOR 10, 0: PRINT " "; b$; " à gagné": COLOR 7, 0
fin:
GOTO fin
Téléchargez qb64 en dernière version sur internet, recopier ce programme dans le qb64, lancer run , bon jeu.
Si Avira ne veut pas s'installer correctement, ou ne pas faire les mises à jour, une solution existe.
Sur votre pc ou Avira fonctionne, il faudra faire certaines manip qui sont simple et facile à faire.
- Aller dans : programmes x86
- Copier le dossier Avira sur une clé USB
- Aller sur votre pc virtuel
- Dans le dossier programmes x86 avec les droits administrateurs
y copier le dossier Avira de la clé usb
- Aller dans ce dossier et lancer les fichiers exe y figurant :
Avira systray , systray start, service host
- Quand le symbole d'Avira sera dans la barre des taches redémarrer le pc virtuel.
- Quand il sera réinitialisé , ouvrir Avira puis lancer la mise à jour
Avira fonctionnera normalement
Après de multiples et longues recherches sur le net, je n'ai pas trouvé de programme en Qbasic.
Un programme permet de classer une longue liste de mots ou même des groupes de mots, en une liste par ordre alphabétique.
Je vous l'enverrai, sur demande.
Demandez-le, je l'enverrai avec votre adresse mail.
Sur des programmes lourd et qui fonctionne en permanence, donc qui occupe inutilement de la mémoire.
Un petit programme basé sur les données de l'ordinateur donne le numéro de la semaine.