Générateur fichier doc en html

Soyez le premier à donner votre avis sur cette source.

Vue 5 318 fois - Téléchargée 1 436 fois

Description

Développé sous Dephi 7 suite à un post de Foxy :
voir http://www.delphifr.com/codes/CSV-CSVLIST-TSTRINGLIST_54750.aspx

Cette application permet de générer un fichier HTML à partir d'un source constitué de Rubriques et de fiches dans chaque rubrique

Tout est dans le ZIP notamment :
CSVList.lhx qui permet en le chargeant dans l'appli, de générer le HTML de Foxy
GenHLP.lhx qui permet en le chargeant dans l'appli, d'expliquer le mode d'emploi et un peu les procédures et fonctions utilisées

Source / Exemple :


Tout est dans le ZIP
Installation :
copier le fichier Help.aide.h dans le même répertoire que l'exécutable

Conclusion :


Pour les spécialistes :
Je n'ai pas trouvé comment mettre la totalité du fichier Help.aide.h directement dans l'exécutable
J'ai essayé de le mettre dans un TlistBox et dans un mémo mais ça n'a pas marché
un peu d'aide permettrait peut être de résoudre ce problème

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
Voila pour enregistrer en UTF-8 :

procedure SaveToUTF8(aStrings: TStrings; aFileName: string);
var
U8:AnsiString;
begin
with TFileStream.Create(aFileName, fmCreate) do
try
U8 := UTF8Encode(aStrings.Text);
Write(U8[1], Length(U8));
finally
Free;
end;
end;
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
#1120 : est-ce que le fichier HTML généré est bien en UTF-8 sans BOM ? (ou en OEM/ISO)

#1500 : il faut jouer avec Close et CloseQuery, peut être voir améliorer la gestion de la sauvegarde.

#1160 : dans le but de standardiser et de réduire les dépendances à Systus, n'oublie pas que même si la finalité c'est l'outils en lui même, le code source doit pouvoir être analyser/compiler par n'importe qui. J'ai tenter de supprimer un max d'appels à Systus mise à part 2 fonctions (CSV) le reste n'est pas vraiment justifié (INI, FRE, etc).

#1150 & #1160 :

Unit XXX;

interface

implementation

{ ... code ... }

initialization
{ executé en entrée de programme }

finalization
{ executé en sortie de programme, peut importe la sortie }

end.

#1100 & #1110 & #1170 : ok :)

#1130 : corriger comme cela alors :
function PremiereLigneFichier(const nomfichier:string; out aFirstLine: string): boolean;
begin
with TStringList.Create do
try
LoadFromFile(nomfichier);
result := Count > 0;
if result then
aFirstLine := Strings[0];
finally
Free;
end;
end;
dubois77
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10 -
f0xi : quelques questions pour affiner !

#1120 (accent)
je l'ai essayé : ça ne fonctionne pas :
j'ai remplacé par exemple "accent(champ); par "champ := escapeText(champ); et quand je lance le html créé j'ai que des "?"
à la compile, ne trouve pas "indent" : spécifique à genHLP ?
le seul que j'utilise est dans la proc ALIGNE et n'est donc pas concerné

#1150 (terminate)
Ne fonctionne pas car je me sers du close pour pouvoir sortir sans sauver avec le clic sur la croix (porte de secours pour mise à jour intempestive des fiches) :
le quitter normal sauve automatiquement

#1160 (objets globaux)
Cela veut-il dire que je n'ai pas le droit d'écrire : INI(L1)
et qu'il faut que l'écrive : L1 := TstringList.Create;
quelle différence ? dans la proc INI(L1), L1 est passé en VAR est fait (à priori) la même chose
idem pour FRE(L1)

par contre j'ai déjà adopté :
#1100 (historique)
#1110 (versions)
#1130 (systus) : j'ai fait un fonction :
//------------------------------------------- Foxy#1130
function PremiereLigneFichier(nomfichier:string):string;
begin
with TStringList.Create do
try
LoadFromFile(nomfichier);
result := Strings[0];
finally
Free;
end;
end;
#1170 : (propriétés Form1)
dubois77
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10 -
#1200 : effectivement j'ai regardé il y a effectivement un problème lorsque l'on fait Control V directement sur les 3 étoiles surlignées : ça coupe les lignes à la taille de la fenêtre
il faut que je voie cela
dubois77
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10 -
Merci Foxy
un peu de lecture, d'accord, mais beaucoup de travail !
bien il y a certains points que je vais pouvoir adopter de suite (#110,#1110,#1120,#1140,1150,#1170,#1180,{1190)
certains points me posent (encore) quelques soucis :
#1150 et #1160 : je ne vois pas (pour l'instant) à quel endroit je dois mettre "initialization" et "finalization" ; mais je vais trouver.
#1170 : ce défaut vient du fait que lorsque je programme (sur un portable) j'aime bien avoir accès rapidement à l'unit, l'inspecteur d'objets ...) donc je réduis la fenêtre principale et je l'adapte au projet à l'exe ! c'est pas bien donc je vais améliorer
#1180 (opendialog) j'ai été amené à utiliser dirappli, dirparam (maison) car sans cela, je me retrouve souvent à l'ouverture du dialog un peu n'importe ou (ou je suis allé par exemple dans une autre appli ouverte précédemment) donc je me suis dit "il faut forcer, c'est moi qui commande"
il semblerait que ce ne soit pas la bonne manière, je vais voir comment faire
(sympa d'avoir pris tant de temps dans ce commentaire "constructif")

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.