× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 basic space$(x) ou string$... question crucialeSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
senvedgi
  Posté le 14/11/2008 @ 11:05 
Aller en bas de la page 
Petit astucien

bonjour à tous,
S'il existe des connaisseurs de basic(oui des grand'pères !) il me semble qu'écrire space$(15) n'est pas la même chose que string$(15," ")?
Lors d'une sauvegarde sur disque le caractère chr$(32) ou " " de string$ remplace ce qui était écrit sur le disque par le caractère chr$(32)
alors que dans space$ on saute des espaces , ici 15 ,sans modifier le disque.Est-ce que je me trompe?
Pourquoi se poser la question?Parce que avec string$ le disque est propre,on sait ce qu'il contient,alors qu'avec string$ il reste des fragments de chaînes avec tous les inconvénients potentiels.
Ai-je bien posé la question et bien répondu?
A vous lire...
Cordialités à tous.

sen

Publicité
panoramic
 Posté le 15/11/2008 à 13:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Eh bien pour moi, SPACE$(15) et STRING$(15," ") sont la même chose, c'est à dire la création d'un string constitué de 15 espaces, et ils devraient être codés sur disque de la même façon.

Mon language Basic favori : www.panoramic-language.com

senvedgi
 Posté le 15/11/2008 à 14:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour!
Donc space$ n'est qu'une simplification ou ré-écriture de string$.Quand on crée un s/s prgramme,une fonction,un sub,etc.. on se rend vite compte que des versions plus simples existent par exemple en mettant à zéro des paramètres.
C'est ce que tu suggère entre space$ par rapport à string$.
En l'abscence de preuves physiques pour moi " " est un code ascii 32(?) et l'écriture d'un blanc sur le disque et un espace un simple saut à un autre emplacement en laissant sans changement l'emplacement.Désolé d'objecter mais je veux des preuves...Autrefois mon bon monsieur il existait des dump(???) qui permettaient de lire les caractères inscrits sur un disque.Je n'ai jamais retrouvé ces programmes,c'est pour çà que je me pose la question de départ:un " " et un espace,un saut sont-ils la même chose?
J'avais vu ton site avec panoramic car je cherche un langage pour ré-écrire mon travail actuel sous Turbo-Basic de Borland.....on ne rit pas!Les interfaces pour les inputs et sorties de fichiers oui mais pour le reste me seront très peu ou pas utiles mais je note.
Cordialement à toi et à tous.

panoramic
 Posté le 15/11/2008 à 19:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour information, voici le code d'un "dumper" de fichier qu'un utilisateur (JL35) du langage Panoramic a codé:

REM * DUMP.BAS dump hexadécimal de fichier *
DIM f$, a$, b$, c$, ll%, nbl%, ad, i%, j%, x$, lof
DIM d, h$, lh%
LABEL ConvHex, nxf

CAPTION 0, "Dump fichier"
FULL_SPACE 0
WIDTH 0, 530
MEMO 3
FULL_SPACE 3

REM ***** Choix du fichier
OPEN_DIALOG 1
f$ = FILE_NAME$(1): REM f$= nom absolu du fichier choisi
IF LEN(f$) < 2 THEN END: REM clic bouton Annuler

FILEBIN_OPEN_READ 2, f$: REM ouverture binaire du fichier
lof = FILEBIN_SIZE(2): REM taille du fichier
CAPTION 0, f$

ll% = 16: REM nombre d'octets affichés par ligne
nbl% = 67: REM nombre de lignes à éditer

PRINT_TARGET_IS 3: FONT_NAME 3, "Courier New"
ad = 0
FOR j% = 1 TO nbl%
IF FILEBIN_POS(2) >= lof THEN GOTO nxf
d = ad: lh% = 5: GOSUB ConvHex
a$ = h$ + ": "
b$ = " ": c$ = ""
FOR i% = 1 TO ll%
IF FILEBIN_POS(2) < lof
FILEBIN_READ 2, d
x$ = ".": IF d >= 32 THEN x$ = CHR$(d)
b$ = b$ + x$
lh% = 2: GOSUB ConvHex
c$ = c$ + h$ + " "
END_IF
NEXT i%
IF LEN(c$) < ll%*3 THEN c$ = c$ + STRING$(3*ll% - LEN(c$), " ")
PRINT a$ + c$ + b$
ad = ad + ll%
NEXT j%
nxf:
FILEBIN_CLOSE 2
END

ConvHex:
REM conversion décimal/hexa de d, résultat h$ sur lh% caractères
h$=""
REPEAT
h$ = MID$("0123456789ABCDEF", 1+16*FRAC(d/16), 1) + h$
d = INT(d/16)
UNTIL d <= 0
IF LEN(h$) < lh% THEN h$ = STRING$(lh% - LEN(h$), "0") + h$
RETURN



Modifié par panoramic le 15/11/2008 19:21
senvedgi
 Posté le 15/11/2008 à 21:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonsoir!
Evidemment je pourrais pomper ce dumper et l'essayer sur mon turbo basic(TB),mais comme il y a des instructions comme target inconnues de TB celà va me mener à rien.
Je n'ose pas te demander d'écrire un programme riki avec space$ ET string$ et dumper ton disque.Tu me donneras le résultat??!!..
Encore et toujours cordialement.

Au fait:TB est compilé,j'ai peur de ne rien pouvoir voir...



Modifié par senvedgi le 15/11/2008 22:03
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
949,99 €PC Portable 15,6 pouces Lenovo Legion Y540 (Core i5, 16 Go, SSD 512 Go, RTX 2060 6 Go) à 949,99 €
Valable jusqu'au 10 Juillet

Cdiscount fait une promotion sur le PC portable Lenovo Legion Y540 (15IRH) dédié aux joueurs qui passe à 949,99 € au lieu de 1400 €. Ce PC portable très bien équipé  possède un écran 15,6 pouces LED Full HD, un processeur Intel Core i5-9300H, 16 Go de RAM, un SSD de 512 Go et une carte graphique GeForce RTX 2060 6 Go dédiée qui avalera tous vos jeux sans broncher. Windows n'est pas fourni, vous pouvez le trouver en OEM à 14,90 €


> Voir l'offre
47,99 €Kit de démarrage Philips Hue White E27 (3 ampoules LED + pont) à 47,99 €
Valable jusqu'au 12 Juillet

Amazon fait une belle promotion sur le kit de démarrage Philips Hue White qui passe à 47,99 € livré gratuitement au lieu de 89 €.  Ce kit de démarrage comporte 3 ampoules LED connectée (culot E27) et un pont de connexion Hue. Avec ce kit, vous pourrez contrôler et programmer l'éclairage des lampes avec votre smartphone sous Android ou iOS (compatible avec le HomeKit d'Apple). 


> Voir l'offre
144,80 €Mini PC Acute Angle AA-B4 (Celeron N3450, 8Go RAM, 64Go+SSD 128Go) à 144,80 € avec le code GBCNSJXPC
Valable jusqu'au 11 Juillet

Gearbest fait une promotion sur l'ordinateur Acute Angle AA - B4 qui passe à 144,80 € au lieu de 180 € grâce au code promo GBCNSJXPC. Ce mini PC au design atypique et au corps en bois, intègre un processeur Intel Celeron N3450 (4 coeurs de 1,1 à 2,2 GHz), 8 Go de RAM, un espace de stockage de 64 Go EMMC ainsi qu'un SSD de 128 Go. Il possède également le WiFi5, le Bluetooth 5.0, une prise Ethernet Gigabit, 3 ports USB 3.0, une sortie HDMI. L'ordinateur est livré avec une prise électrique européenne. Il est accompagné de Windows 10 Familial. Avec ce PC, vous pourrez réaliser sans soucis toutes vos tâches courantes : internet, bureautique, multimédia.

Ce marchand sérieux se trouvant en Chine, la livraison peut prendre une quinzaine de jours. Comptez une dizaine d'euros pour la livraison en France et l'assurance pour le transport. Vous pouvez payer par carte bancaire ou par Paypal (conseillé pour bénéficier de la garantie Paypal).


> Voir l'offre

Sujets relatifs
mise à jour visual basic 6 de sp3 à sp6
Visual Basic & Base de données
Question
C++ string () string( )
Les tableaux de string en c++
Comment Récupérer un Tag sous Visual Basic 2010
Question
Question
Question
[C]Recuperer données dans un string
Plus de sujets relatifs à basic space$(x) ou string$... question cruciale
 > Tous les forums > Forum Autres langages