FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar Marc Hier à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar Marc Hier à 12:22

» Philharmusique
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

 

 1.94 du 26 Février 2013: ajout ReplaceStringInBinaryFile

Aller en bas 
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile Empty
MessageSujet: 1.94 du 26 Février 2013: ajout ReplaceStringInBinaryFile   1.94 du 26 Février 2013: ajout  ReplaceStringInBinaryFile EmptyMar 26 Fév 2013 - 10:31

Nouvelle version:
KGF.dll V1.94 du 24 Février 2013

J'ai ajouté une fonction à la gestion des fichiers binaires, pour pouvoir modifier facilement une partie des données à l'intérieur du fichier:

1. Remplacer n octets à partir de la position p
Si flag%=0: les n octets seront remplacés par la chaîne fournie, même si cela conduit à un changement de longueur du fichier
si flag%=1: on remplace systématiquement n octets. Si la chaîne fournie est plus courte, elle sera complétée par le caractère fill$. Si elle est plus longue, elle sera tronquée.
KGF.dll: res% = dll_call6("ReplaceStringInBinaryFile",adr(nom$),adr(buf$),adr(fill$),n%,p%,flag%)
KGF_SUB.bas: ReplaceStringInBinaryFile(nom$,buf$,fill$,n%,p%,flag%)

Et voici le programme de démo montrant cette fonction:
Code:
' demo_fichiers_binaires.bas

label lecture, creation, ajout, remplacement

dim res%, buf$, nom$, fill$, i%, n%, p%, flag%

KGF_initialize("KGF.dll")

open_dialog 1
save_dialog 2

height 0,600

button 101 : top 101,10 : left 101,10 : caption 101,"Lecture"
  on_click 101,lecture
button 102 : top 102,40 : left 102,10 : caption 102,"Création"
  on_click 102,creation
button 103 : top 103,70 : left 103,10 : caption 103,"Ajout"
  on_click 103,ajout

memo 201 : top 201,10 : left 201,200 : width 201,300 : height 201,300

alpha 202 : top 202,340 : left 202,200 : caption 202,"Longueur:"
alpha 203 : top 203,340 : left 203,280 : caption 203,"Start:"
alpha 204 : top 204,340 : left 204,360 : caption 204,"Remplissage:"
edit 212 : top 212,360 : left 212,200 : width 212,70
edit 213 : top 213,360 : left 213,280 : width 213,70
edit 214 : top 214,360 : left 214,360 : width 214,30
text 212,"1" : text 213,"1" : text 214,"0"
alpha 205 : top 205,390 : left 205,200 : caption 205,"Nouveau contenu:"
edit 215 : top 215,410 : left 215,200 : width 215,300
check 216 : top 216,440 : left 216,200 : width 216,300
  caption 216,"Tronquer/compléter les données si nécessaire"
button 104 : top 104,470 : left 104,200 : caption 104,"Remplacement"
  on_click 104,remplacement

end

lecture:
  nom$ = file_name$(1)
  if nom$="_" then return
  ReadBinaryFileToString(nom$)
  clear 201
  item_add 201,ReadBinaryFileToString$
  return
 
creation:
  nom$ = file_name$(2)
  if nom$="_" then return
  if file_exists(nom$)=1
    message "Refusé."
    return
  end_if
  if count(201)=0
    message "Vide."
    return
  end_if
  buf$ = ""
  for i%=1 to count(201)
    buf$ = buf$ + item_read$(201,i%) + chr$(13) + chr$(10)
  next i%
  WriteStringToBinaryFile(nom$,buf$)
  return
 
ajout:
  nom$ = file_name$(1)
  if nom$="_" then return
  if count(201)=0
    message "Vide."
    return
  end_if
  buf$ = ""
  for i%=1 to count(201)
    buf$ = buf$ + item_read$(201,i%) + chr$(13) + chr$(10)
  next i%
  AppendStringToBinaryFile(nom$,buf$)
  return

remplacement:
  nom$ = file_name$(1)
  if nom$="_" then return
  buf$ = text$(215)
  n% = val(text$(212))
  p% = val(text$(213))
  fill$ = chr$(val(text$(214)))
  flag% = checked(216)
  ReplaceStringInBinaryFile(nom$,buf$,fill$,n%,p%,flag%)
  return

#INCLUDE "KGF_SUB.bas"
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
 
1.94 du 26 Février 2013: ajout ReplaceStringInBinaryFile
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» 1.96 du 27 Février 2013: ajout ReadBlockFromBinaryFile
» 1.95 du 27 Février 2013: fonction ReadBlockFromBinaryFile...
» 2.46 du 13/10/2013: ajout function SendSingleCharAsVKCode
» 1.97 du 28 Février 2013: accélération des fonctions
» 1.90 du 23 Février 2013: gestion 600 dpi en impression

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: