Win3x.Org
http://www.win3x.org/win3board/

Flowers OS
http://www.win3x.org/win3board/viewtopic.php?f=68&t=1482
Page 1 sur 6
Auteur :  Maxoul [ 08 janv. 2005 17:21 ]
Sujet du message :  Flowers OS

Flowers OS est une interface graphique qui fonctionne sous DOS. Le but est de créer un environnement léger et simple a utiliser. Le programme est écrit en QuickBasic, sous license GPL.

Voici les liens de téléchargement des versions phares de ce projet

Auteur :  Dauphin [ 08 janv. 2005 17:43 ]
Sujet du message : 

maxoul a écrit :
Je suis en train de creer un OS ligne de commande en Qbasic,
mais j'ai qq question pour ceux qui connaisse un peu le QB

1) Quel est la commande pour dire :
SI var$ CONTIENT "blabla" ALORS ect...

2) Les variable ecrite dans un fichier par PRINT # ou WRITE #,
comment on les recupere ?
Tout d'abord, je te souhaite bonne chance dans ton projet de OS

Pour ce qui est des questions techniques:

1 - La recherche d'une sous chaîne en QB et se fait avec la fonction INSTR.
La syntaxe est la suivante:
[i]INSTR ([début,] source, cible)[/i]

[i]début[/i] est un paramètres optionnel (si on ne veut pas commencer au début de la chaine)
[i]source[/i] est la chaine dans laquelle on doit faire la recherche
[i]cible[/i] est la chine que l'on recherche

la fonction retourne 0 si [i]cible[/i] n'est pas présent dans [i]source[/i]
2 - La lecture des fichiers textes se fait avec INPUT# et LINE INPUT# puis on emploi EOF pour tester la fin du fichier. Note: ne pas oublier d'ouvrir le fichier avec un accès en lecture.

Auteur :  Maxoul [ 08 janv. 2005 18:51 ]
Sujet du message : 

Je stocke cf%, ct% et acc$ dans PREF.DAT, je ve les ressortir au demarrage

OPEN "A:\PREF.DAT" FOR INPUT AS #2
INPUT #2,cf%,ct%,acc$
..
..
COLOR cf%,ct%

ca marche pas !
car si je rajoute PRINT cf% apres INPUT, il m'affiche un bô zero !

alors, ou est ce que je me suis trompé ?

Auteur :  Yann [ 08 janv. 2005 21:30 ]
Sujet du message : 

Je ne connais strictement rien au Basic, mais si tu veux un Shelll pour MS-DOS, programme plutôt en C. C'est plus complexe, mais les possibilités sont infinies

Auteur :  Maxoul [ 09 janv. 2005 11:19 ]
Sujet du message : 

ouais, mais j'e mis connait pas encore en C
je vais mi mettre

Auteur :  Dauphin [ 09 janv. 2005 17:02 ]
Sujet du message : 

je ne connait pas le reste du programme ni même le contenu exact du fichier PREF.DAT mais il faudra d'abord t'assurer de certaines choses pour débogger ton programme:

1 - D'abord, assure-toi des détails comme le nom du fichier à toutes les fois que tu y fais appel.

2 - Ensuite, assure-toi que tu suis la même séquence pour la lecture du fichier que celle utilisée pour l'écriture.

3 - Aussi, il semble que les fichiers doivent avoir été écrits avec l'instruction WRITE# si tu veux pouvoir les lire avec la l'instruction INPUT#.

Note: C'est vrai que le C est généralement mieux adapté à la programmation système mais je crois que le QB est suffisant puissant pour l'écriture d'un Shell de remplacement.

Auteur :  michel [ 09 janv. 2005 23:33 ]
Sujet du message :  Ré:

De plus c'est pas bon de mélanger des variables "entiers" avec des variables "chaine" sur une même ligne. Son fichier ne contient (apparament) que 3 variables à récupérer.

Ecris ton fichier PREF.DAT

OPEN "PREF.DAT" FOR OUTPUT AS #1
PRINT #1, cc$ 'ligne 1 la chaine qui correspond à cc$
PRINT #1, cf 'ligne 2 couleur de fond
PRINT #1, ct ' ligne 3 couleur texte
CLOSE #1

1 ligne pour chaque variable

Pour l'ouvrir:

OPEN "PREF.DAT" FOR INPUT AS #2
INPUT cc$
INPUT cf
INPUT ct
CLOSE #2

COLOR cf, ct
SYSTEM

ça marchera comme ça.


Pour les EOF de détections de fin de fichier, c'est valable pour sortir tous les éléments du fichier ligne par ligne en utilisant 1 seule variable qui ne peut être que soit "chaine", soit "nombre entier" à la lecture de la ligne.
De plus pour utiliser EOF, il faut une boucle DO...LOOP.

OPEN "MACHIN.ZZZ" FOR INPUT AS 5
DO
LINE INPUT 5, a$
GOSUB traitement
LOOP UNTIL EOF(5)
CLOSE 5

traitement:
' ici on traite la variable a$, recherche de caractères, longueur, enfin tout
' ce qu'il est possible de faire
RETURN 'on retourne au fichier ouvert pour lire la ligne suivante, etc.

Auteur :  Maxoul [ 10 janv. 2005 17:46 ]
Sujet du message : 

je vais essayer, merci de votre aide
une autre question
est t'il possible de mettre dans
SET PATH
une commande pour dire que le path est sur tt le disque dur, type %ALL% ?

Auteur :  michel [ 10 janv. 2005 23:30 ]
Sujet du message :  Ré:

la variable PATH est utilisée par DOS pour qu'il sache dans quels répertoires il doit trouver les fichiers exécutables (dans l'ordre .COM, .EXE, .BAT).
Une commande %ALL% ne servirait à rien. Autant faire comme avec les premières versions de DOS, un répertoire BIN et mettre tous les exécutables dedans.
De plus la longueur d'une ligne de commande sous DOS ne doit pas comporter plus de 127 caractères.
On pourrait ajouter des PATH=%PATH%;C:\encore_une_quinzaine_de_répertoires:
puis encore un PATH=%PATH%;C:\etc....
mais au risque de voir s'afficher un "variable d'environnement insuffisant".

Auteur :  Dauphin [ 11 janv. 2005 00:07 ]
Sujet du message : 

Tant qu'à programmer un nouveau shell, pourquoi se contenter d'employer les structures préexistantes de DOS alors qu'on peut faire soi-même la gestion des chemins dans le code ?

Page 1 sur 6 Fuseau horaire sur UTC+02:00
Développé par phpBB® Forum Software © phpBB Limited
Traduction française officielle © Miles Cellar