delphi, recherche dans un text - Delphi/Pascal - Programmation
Marsh Posté le 12-04-2003 à 18:44:25
Pour résumer, tu veux trouver des positions de chaînes et en extraire des morceaux ?
Les fonctions utiles pour ça c'est Pos, Copy et Delete.
Marsh Posté le 12-04-2003 à 19:38:21
|
le resultat est dans s
Marsh Posté le 12-04-2003 à 20:11:47
Si tu utilises un ou plusieur fichier XML pour stoker tes infos ca sera deaj plus facile !
XML RULEZ !
@->--
Marsh Posté le 16-04-2003 à 02:51:16
connais pas l xml
sinon merci bocoup pour la fonction ca march eimpect ,
bon jsuis juste bloqué au milieu a cause de deux variables qui se suivent , pb elle sont differante et avec ma methode cha marche po
faudrai que je vois ca a tete reposée
sinon
sur ce petit prog
http://wishmaster.free.fr/Hyperium [...] calc04.exe
j ai un autre prob lol
dans l onglet fleet
c est les coordonnées de deux planetes , en X et Y
1ere celle de depart 2nd celle d arrivée
pour connaitre le tps de deplacement , faut faire la differance et voir celui qui est le plus grand,
mon code donne
procedure TMain.FlCalc(Sender: TObject);
begin
Val(FleetX0.Text, X0, Erreur);
Val(FleetY0.Text, Y0, Erreur);
Val(FleetX1.Text, X1, Erreur);
Val(FleetY1.Text, Y1, Erreur);
X:=X0-X1; // on fait la dif des X
X:=abs(X);
str(X:0:0, Xn);
Y:=Y0-Y1; // dif sur Y
Y:=abs(Y);
str(Y:1:0, Yn);
EditPBT.Text:=Yn; // la ca met Y sur la page d avant dans le prix avant taxe c est pour les tests
EditPAT.Text:=Xn; // idem mais pour X
If Yn >= Xn then // on regarde lequel est le plus grand
FleetTime.Caption:=Yn; // on remplace le 0 a coté de "hours"
If Xn > Yn then
FleetTime.Caption:=Xn;
end;
bon le pb , c est etrange si en X pour la 1ere planete 30 et que pour la seconde vous mettiez un chiffre entre 34 et 39
meme si Y est plus grand que X, ce sera toujours X qui est afficher
meme si X0 est négatif tant que c est entre 34 et 39 ca veux rien savoir)
jsuis desecpéré de 21H a 0H je me suis prix le chou pour que la variable des chiffre absolue fonctionne (pourtant ct tt con ) et depuis minuit c est ca
en plus j arrive plus a ecrire et jvois deux ecran
hilppppp
Marsh Posté le 16-04-2003 à 09:33:21
De@thm@ster Of Hell a écrit : connais pas l xml |
Ben moi aussi je connaissais avant puis un beau jour j ai fait tut ou j ai pu voir a quel point sans rien connaitre a l XML on pouvait recuperer les infos qu on voulait dans ordre qu on a choisi et qd on veut et sans forcer.
Pour le reste j ai pas lu le poste car ta pas utilise de balise code et CAI MAL !
@->--
Marsh Posté le 16-04-2003 à 09:41:03
he les comparaisons de chaînes contenant des valeurs numériques c'est un peu dangereux hein
par ex '2' > '10'
Marsh Posté le 16-04-2003 à 09:56:18
antp a écrit : he les comparaisons de chaînes contenant des valeurs numériques c'est un peu dangereux hein |
c est a moi que tu parles ?
Marsh Posté le 16-04-2003 à 10:05:44
t'as mis des comparaisons de chaînes dans un de tes posts sur ce topic ? non, donc c'est pas à toi
Marsh Posté le 16-04-2003 à 10:39:26
antp a écrit : t'as mis des comparaisons de chaînes dans un de tes posts sur ce topic ? non, donc c'est pas à toi |
Champion des excuse bidon hein ? ok ok ! je viens de voir. C est clair qu il manque un StrToInt big time meme deux si c est pas plus. La balise code CAI PO FAIT POUR LES CHIOTS !
@->--
PS: sans rancunes antp !
Marsh Posté le 16-04-2003 à 11:15:55
Ouais enfin c'est pas clair tout ce qu'il fait... normalement il ne faudrait convertir en string que lors de l'affichage, et ne pas manipuler les données converties.
Marsh Posté le 16-04-2003 à 11:19:48
Newbie POWA !
je ne pense qu il ai une definition bien precise de ce qu il veut faire. Sinon meme en tant que newbie il y aurai un peu plus de recherches prealables.
Cependant pourquoi ne dois t on pas manipuler les donnes converties ?
@->--
Marsh Posté le 16-04-2003 à 11:23:54
je veux dire qu'il faut éviter de faire des conversions dans tous les sens
genre je lis un nombre : str -> float, ok
je fais un calcul sur le fload
j'affiche le float : float -> str, ok, mais pourquoi stocker cette chaine si on ne doit pas l'utiliser ailleurs ?
je fais une comparaison sur ces chaînes : tu dis d'utiliser StrToInt : non faut utiliser le float plutôt que de reconvertir le str
Marsh Posté le 16-04-2003 à 13:20:44
WebBrowser.OleObject.Document.body.innerText
renvoie le texte de la page sans les balises.
si ca peut t'aider..
Marsh Posté le 16-04-2003 à 14:06:19
je veux dire qu'il faut éviter de faire des conversions dans tous les sens
genre je lis un nombre : str -> float, ok
je fais un calcul sur le fload
j'affiche le float : float -> str, ok, mais pourquoi stocker cette chaine si on ne doit pas l'utiliser ailleurs ?
bah si elle est utilisé plus bas dans la fonction IF
je fais une comparaison sur ces chaînes : tu dis d'utiliser StrToInt : non faut utiliser le float plutôt que de reconvertir le str
la j ai rien compris
Marsh Posté le 16-04-2003 à 14:08:55
krzAramis a écrit : Newbie POWA ! |
>sisi
> jlai ai fait les recherches , d ailleur ca marche , mais pk il arrive po a voir que 4 plus petit que 30 jsais pas moi
Marsh Posté le 16-04-2003 à 14:24:20
De@thm@ster Of Hell a écrit : j'affiche le float : float -> str, ok, mais pourquoi stocker cette chaine si on ne doit pas l'utiliser ailleurs ? |
(1) oui justement c'est ça qui est pas bien, pourquoi faire un if sur les chaines au lieu d'un if sur les floats ?
(2) voir (1)
Marsh Posté le 16-04-2003 à 14:49:55
donc faire un truc comme cha
If Y >= X then
FleetTime.Caption:=Yn;
If X > Y then
FleetTime.Caption:=Xn;
end;
Marsh Posté le 16-04-2003 à 14:51:55
oui
mais y a un truc que je pige pas dans ton code :
str(X:0:0, Xn);
ça doit faire quoi ? convertir X en chaîne en gardant 0 chiffres ?
Sinon y a aussi IntToStr, FloatToStr, Format, etc.
c'est peut-être plus pratique, vu que ça te renvoie une chaîne tu n'as pas besoin de variable temporaire, tu peux l'assigner directement au .Text que tu veux
Marsh Posté le 16-04-2003 à 14:55:36
antp a écrit : oui CHA MARCHE =) |
bah au debut je savais pas a quoi sa servait , quand j ai commencé cette calculette (ca faisait 6mois ) puis j ai reutiliser ca et comme ca marchais bah j ai jamais changé , =)
mais je crois que la longeur meme si elle est a 0 permet de garder tout les resultats
Marsh Posté le 12-04-2003 à 18:40:39
bonjour,
je suis débutant en delphi , j ai deja fait une petite calculatrice pour calculer des prix avec et sans taxe pour des besoins d un jeu
et j avais l intention de continuer dans ma lancer pour faire un prog permettant de mieux gerer son comptes et ses planetes (oui c est un jeu ou on gere des planetes ) lol )
bref ce que je voudrai faire c est 2 onglets (deja fait ^^)
dans le 1er une boite de dialogue pour copier coller les pages html et une fois traité les données serai reparties dans le 2nd onglet ,
or j ai un pb , car je ne sais pas quoi utiliser pour rechercher les informations de la page...
ex les données sont
nomdelaplanete (x,y) [TAG]
Government system: Democratic
Production type: Minero
Population race: Xillor size: 38675 M
Influence: 385.2M (396.5M)
j ai cherché toute la matinée sur des sites comment extraire cela mais rien n est expliquer clairement j ai bien trouvé la fonction find , mais rien ne décris precisément comment s en servir , pour recuperer des infos qui se situent avant ou apres des lettres fixes :-/
si qq peut m aider
j en peu pu :sisicaivrai
---------------
Feedback D.o.H - Seine Saint Denis - 93