Win3x.Org

Windows & DOS Community

Flowers OS

Post Reply   Page 1 of 6  [ 58 posts ]
Jump to page 1 2 3 4 5 6 »
Author Message
Maxoul
Post subject: Flowers OS
Posted: 08 January, 17:21
Membre d'honneur
User avatar
Offline
 
Posts: 129
Joined: 05 July, 11:17
 
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


Top
Quote
Dauphin
Post subject:
Posted: 08 January, 17:43
 
 
maxoul wrote:
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.


Top
Quote
Maxoul
Post subject:
Posted: 08 January, 18:51
Membre d'honneur
User avatar
Offline
 
Posts: 129
Joined: 05 July, 11:17
 
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é ?


Top
Quote
Nnay
Post subject:
Posted: 08 January, 21:30
 
 
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


Top
Quote
Maxoul
Post subject:
Posted: 09 January, 11:19
Membre d'honneur
User avatar
Offline
 
Posts: 129
Joined: 05 July, 11:17
 
ouais, mais j'e mis connait pas encore en C
je vais mi mettre


Top
Quote
Dauphin
Post subject:
Posted: 09 January, 17:02
 
 
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.


Top
Quote
michel
Post subject:
Posted: 09 January, 23:33
Administrateur
User avatar
Offline
 
Posts: 2632
Joined: 07 February, 19:46
Retro PC: IBM - PS2 Modèle 85 (carte mère en panne)
 
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.

_________________



Top
Quote
Maxoul
Post subject:
Posted: 10 January, 17:46
Membre d'honneur
User avatar
Offline
 
Posts: 129
Joined: 05 July, 11:17
 
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% ?


Top
Quote
michel
Post subject:
Posted: 10 January, 23:30
Administrateur
User avatar
Offline
 
Posts: 2632
Joined: 07 February, 19:46
Retro PC: IBM - PS2 Modèle 85 (carte mère en panne)
 
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".

_________________



Top
Quote
Dauphin
Post subject:
Posted: 11 January, 00:07
 
 
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 ?


Top
Quote
Display: Sort by: Direction:
Post Reply   Page 1 of 6  [ 58 posts ]
Return to “Projets aboutis” | Jump to page 1 2 3 4 5 6 »
Jump to: