Enregistre le titre en cour sur radio dans un fichier texte
Re: Enregistre le titre en cour sur radio dans un fichier te
oui mais la ça marche plus avec mon logiciel pour mon encodeur RDS
je pense que lorsque le ficher est supprimer ça lui plais pas!
je pense que lorsque le ficher est supprimer ça lui plais pas!
Re: Enregistre le titre en cour sur radio dans un fichier te
arf !
pas de probleme on va simuler un effacement, sans le faire
grace a la fonction
qui permet de couper le fichier a l'endroit on l'on se trouve
si on utilise cette fonction juste apres son ouverture/creation
ben ça reviens a effacer le fichier
( en fait a le couper des le debut ..mais sans effacer physiquement le fichier l'entete existe toujours
)
du coup ton prg devrai etre Blousé
j'ai changé mon code dans ce sens , essaye
pas de probleme on va simuler un effacement, sans le faire

grace a la fonction
Code : Tout sélectionner
TruncateFile(#File)
si on utilise cette fonction juste apres son ouverture/creation
ben ça reviens a effacer le fichier


du coup ton prg devrai etre Blousé

j'ai changé mon code dans ce sens , essaye

Re: Enregistre le titre en cour sur radio dans un fichier te
Apparemment ça marche pas j'ai le même pb le rds texte se met plus a jour.
le logiciel RDS effectue une lecture si le fichier change et met a jour les champs RDS texte.
ça marcher mieux au début quand on n'effacer pas le fichier.
la commande truncate n'arrive pas a gruge le soft RDS
le logiciel RDS effectue une lecture si le fichier change et met a jour les champs RDS texte.
ça marcher mieux au début quand on n'effacer pas le fichier.
la commande truncate n'arrive pas a gruge le soft RDS
Re: Enregistre le titre en cour sur radio dans un fichier te
bon , ben j'utilise
c'est a dire que j'ajoute systematiquement 300 espaces apres la fin de la ligne
du coup ça devrai effacer ce qui suit ...
code changé , toutjours au meme endroit
bon test
Code : Tout sélectionner
+space(300)
du coup ça devrai effacer ce qui suit ...
code changé , toutjours au meme endroit

bon test
Re: Enregistre le titre en cour sur radio dans un fichier te
J'ai fait une bêtise.
c'est ma faute je m'excuse j'avais pas modifier un paramètre du soft RDS maintenant ça fonctionne parfaitement avec le code précédent et le truncate!
merci encore c'est super.
c'est ma faute je m'excuse j'avais pas modifier un paramètre du soft RDS maintenant ça fonctionne parfaitement avec le code précédent et le truncate!
merci encore c'est super.
Re: Enregistre le titre en cour sur radio dans un fichier te
pourquoi n'utilises tu pas Winamp par exemple pour ecouter tes morceaux
le titre s'affiche automatiquement avec Winamp ...
le titre s'affiche automatiquement avec Winamp ...

Re: Enregistre le titre en cour sur radio dans un fichier te
salut
oui je sait le problème c'est que je module un émetteur fm avec la source radio internet et que cet émetteur possède un encodeur RDS.
Comme ça le titre et l’interprète s'affiche sur mon récepteur FM RDS.
Et ça fonctionne vraiment bien maintenant, seul petit pb de temps en temps il passe des caractères erronés mais la fenêtre de pure basic indique la même chose donc je pense que ça vient de la page web qui doit contenir de temps en temps des caractères bizarres.
Merci pour ton aide précieuse.
oui je sait le problème c'est que je module un émetteur fm avec la source radio internet et que cet émetteur possède un encodeur RDS.
Comme ça le titre et l’interprète s'affiche sur mon récepteur FM RDS.
Et ça fonctionne vraiment bien maintenant, seul petit pb de temps en temps il passe des caractères erronés mais la fenêtre de pure basic indique la même chose donc je pense que ça vient de la page web qui doit contenir de temps en temps des caractères bizarres.
Merci pour ton aide précieuse.
Re: Enregistre le titre en cour sur radio dans un fichier te
oui pour les caracteres, on peut toujours ajouter un filtre ...
c'est tres simple a mettre en place
je viens de modifier mon code dans ce sens en ajoutant une procedure "Filtre()"
je remplace tout caracteres autre que "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
par un espace ...
c'est un filtre basique
ça devrai arranger le truc quand meme
c'est tres simple a mettre en place
je viens de modifier mon code dans ce sens en ajoutant une procedure "Filtre()"
je remplace tout caracteres autre que "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
par un espace ...
c'est un filtre basique

ça devrai arranger le truc quand meme

Re: Enregistre le titre en cour sur radio dans un fichier te
je viens de faire une autre procedure de filtre plus efficace et plus courte
voici un exemple comparant les 2 filtres l'ancien et le nouveau
voici 2 façon de filtrer ...
pour te montrer qu'en programmation , il existe plusieurs façon d'arriver au meme résultat
l'avantage de la nouvelle version de filtre c'est d'avoir en clair les caracteres autorisés
ça permet d'ajouter a la volée les caracteres permis
(attention le dernier caractere est un espace
)
voici un exemple comparant les 2 filtres l'ancien et le nouveau
Code : Tout sélectionner
Declare.s filtre2(Var.s)
Declare.s filtre1(Var.s)
var.s="é(é('-é-'(é(yé(ç_é(çé(éç(-)çé-_()çé_(èàéè'68456512 Totoé(ééçà'ç_é "
debug filtre1(Var.s)
debug filtre2(Var.s)
Procedure.s filtre2(Var.s)
;By Dobro
; Nouveau Filtre
ref.s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
For i=1 to len(var.s)
ex.s=mid(var.s,i,1)
If findstring(ref.s,ex.s)>0
sort.s=sort.s+ex.s
Endif
Next i
ProcedureReturn Sort.s
Endprocedure
Procedure.s filtre1(Var.s)
; By Dobro
; exemple de filtre
For i=1 to len(var.s)
extr.s=mid(var.s,i,1)
If( asc(extr.s)>47 and asc(extr.s)<58) or (asc(extr.s)>64 and asc(extr.s)<91) or (asc(extr.s)>96 and asc(extr.s)<123) or asc(extr.s)=45
sort.s=sort.s+extr.s
Else
sort.s=sort.s+""
Endif
Next i
ProcedureReturn Sort.s
Endprocedure; EPB
Endprocedure
; EPB
voici 2 façon de filtrer ...
pour te montrer qu'en programmation , il existe plusieurs façon d'arriver au meme résultat

l'avantage de la nouvelle version de filtre c'est d'avoir en clair les caracteres autorisés

ça permet d'ajouter a la volée les caracteres permis

(attention le dernier caractere est un espace

Re: Enregistre le titre en cour sur radio dans un fichier te
Pour ne pas remplacer une lettre accentuée par un espace
Liste des caractères spéciaux : http://www.toutimages.com/codes_caracteres.htm
Code : Tout sélectionner
Procedure.s ReplaceAccents(Chaine$)
; Falsam
; Modif : Ar-S
Chaine$=LCase(Chaine$) ; On passe tout en min histoire que ce soit propre et que le ReplaceString() dure 2 x moins longtemps
Protected i
Protected CharToFind.s="àáâãäåçèéêëìíîïñòóôõöÞùúûüýÿ"
Protected CharToReplace.s="aaaaaaceeeeiiiinooooopuuuuyy"
For i=1 To Len(CharToFind)
ReplaceString(Chaine$, Mid(CharToFind,i,1), Mid(CharToReplace,i,1),#PB_String_InPlace, 1)
Next
; vérif pour les caractères spéciaux passant de 1 à 2 caractères
Chaine$ = ReplaceString(Chaine$, "œ", "oe")
Chaine$ = ReplaceString(Chaine$, "æ", "ae")
Chaine$ = ReplaceString(Chaine$, "ß", "ss")
ProcedureReturn Chaine$
EndProcedure
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Enregistre le titre en cour sur radio dans un fichier te
Bonjour
OK je vais essayer ça merci pour votre aide.
a+
OK je vais essayer ça merci pour votre aide.
a+
Re: Enregistre le titre en cour sur radio dans un fichier te
il semble que le pb persiste c'est le ' qui passe pas on dirait:
Artist: Edgar Wallace Jr
Titre : I Can039t Go For That
ça devrait donner:
Artist: Edgar Wallace Jr
Titre : I Can't Go For That
ya ce 039 qui passe a chaque fois.
Artist: Edgar Wallace Jr
Titre : I Can039t Go For That
ça devrait donner:
Artist: Edgar Wallace Jr
Titre : I Can't Go For That
ya ce 039 qui passe a chaque fois.
Re: Enregistre le titre en cour sur radio dans un fichier te
a mais c'est parceque dans la page Html , ils utilisent les codes caractere au lieu du caractere
je regarderai ça ... pour l'instant je petit Dejeune
il te faut utiliser ReplaceString ()
et remplacer tout les codes genre pour ton exemple 039 par ' etc ...
je regarderai ça ... pour l'instant je petit Dejeune

il te faut utiliser ReplaceString ()
et remplacer tout les codes genre pour ton exemple 039 par ' etc ...
Re: Enregistre le titre en cour sur radio dans un fichier te
remplace la procedure Filtre par celle-ci ça devrai etre bon
ps : n'oublie pas que pour autorisé l'affichage d'un caractere , il te faut l'ajouter dans la Chaine "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&()/éèê.:-' "
ici j'ai ajouté >>>> '
par contre il y a une exception , si tu veux ajouter le caractere >>> "
il te faudra faire
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&()/éèê.:-' "+chr(34)
mais en principe tu n'as pas a ajouter ce code
j'ai donc ajouté ceci a la procedure
ça va chercher dans la variable extraite de la page Html, si un code ayant la forme "'" existe
si c'est le cas ça va remplacer ce code par son equivalent Caractere ici " ' "
si toutefois cela ne marchais pas , vire le "&#"
ça donnerai :
Code : Tout sélectionner
Procedure.s filtre(Var.s)
for i=32 to 255
if i<100
Var.s = ReplaceString(Var.s,"&#"+"0"+str(i),chr(i) )
Else
Var.s = ReplaceString(Var.s,"&#"+str(i),chr(i) )
Endif
Next i
; By Dobro
; autre exemple de filtre qui a l'avantage que nous voyons directement les caracteres que nous désirons garder , il suffit de les ajouter dans la chaine Ref.s
ref.s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&()/éèê.:-' " ; << derniere caractere est un espace
For i=1 to len(var.s)
ex.s=mid(var.s,i,1)
If findstring(ref.s,ex.s)>0
sort.s=sort.s+ex.s
Endif
Next i
ProcedureReturn Sort.s
Endprocedure
; EPB
ici j'ai ajouté >>>> '
par contre il y a une exception , si tu veux ajouter le caractere >>> "
il te faudra faire
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&()/éèê.:-' "+chr(34)
mais en principe tu n'as pas a ajouter ce code

j'ai donc ajouté ceci a la procedure
Code : Tout sélectionner
for i=32 to 255
if i<100
Var.s = ReplaceString(Var.s,"&#"+"0"+str(i),chr(i) )
Else
Var.s = ReplaceString(Var.s,"&#"+str(i),chr(i) )
Endif
Next i; EPB
si c'est le cas ça va remplacer ce code par son equivalent Caractere ici " ' "
si toutefois cela ne marchais pas , vire le "&#"
ça donnerai :
Code : Tout sélectionner
For i=32 to 255
if i<100
Var.s = ReplaceString(Var.s,"0"+str(i),chr(i) )
Else
Var.s = ReplaceString(Var.s,str(i),chr(i) )
Endif
Next i
Dernière modification par Backup le ven. 10/mai/2013 14:47, modifié 5 fois.