|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
LVL++ SCRIPT EDITOR
Information sur la source
Description
cette source n'est que le début d'un long projet c'est éditeur de texte avec: -colorisation syntaxique Lvl++, c++, pascal, php avec le composant FireColorSynth -console des commandes effectuer -clipboard -syntaxe msgbox et string & integer variable son fini. Mon projet: Créer un language de programmation OpenSource...En Français..Oui!Oui! j'aimerais innover ce langage en lui permettant de: -compiler des apps Windows, Linux, Mac et autres si possible, -de générer des codes source en c++, liberty basic(le langage qui m'a donné l'envie et le besoin de programmer),delphi...etc, -que n'importe qui puisse développer chez lui et pour lui... Bien sur je me rend compte de mon tous petit niveau. Il y en a qui vont rire... Mais c'est pas grave. Bien sur s'y il en a que sa intéresse c'est avec grand plaisir. "On est toujours plus fort avec c'est potes..."de Shuriken (IAM) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Je Tenais a remercier particulièrement METANIL & f0xi pour leur aide. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Source
- //===================================================
- //======================EXECUTER=====================
-
- procedure TfrmEditeur.ExecuterClick(Sender: TObject);
-
- var sprocess, sprocess2, s, sGo, sCopy, MSGend: ansistring;
- N, msgPos, INT: integer;
- ini: TiniFile;
-
- begin
- Listbox1.Items.Add('Executer EDS');
- txtedition.Lines.BeginUpdate;
- try
- for N := 0 to txtedition.Lines.Count - 1 do
- begin
- s := txtedition.Lines[N];
- sGo := txtedition.Lines[N];
- sprocess := txtedition.Lines[N];
- sprocess2 := Copy(sprocess, 1, 3);
- //=======================FIN=====================
- if sprocess2 = 'fin' then
- Break
- //=======================MSG=====================
- else if sprocess2 = 'msg' then
- //Cherche une chaine de caractère commençant par ' " '.
- while true do begin // si il y en a une...
- msgPos := Pos('"', sGo);
- if msgpos <> 0 then begin
- sCopy := Copy(sGo, msgPos + 1, Length(sGo));
- if pos('"', scopy) > 0 then begin
- MSGend := '"' + copy(scopy, 1, pos('"', scopy));
- delete(sgo, msgpos + 1, length(MSGend));
- end
- else break; // pas de fin de chaine marque par guillemet
- MSGEND := StrReplace(chr(34), '', MSGend);
- showmessage(MSGend); // ---------------dans MSGend ya ton mot
- Listbox1.Items.Add('MessageBox '+'"'+MSGend+'"');
- end
- else break;
- end
- //=======================STR=====================
- else if sprocess2 = 'str' then
- //Cherche une chaine de caractère commençant par ' " '.
- while true do begin // si il y en a une...
- msgPos := Pos('"', sGo);
- if msgpos <> 0 then begin
- sCopy := Copy(sGo, msgPos + 1, Length(sGo));
- if pos('"', scopy) > 0 then begin
- MSGend := '"' + copy(scopy, 1, pos('"', scopy));
- delete(sgo, msgpos + 1, length(MSGend));
- end
- else break; // pas de fin de chaine marque par guillemet
- ini := tinifile.Create('C:\Lvl.ini');
- MSGEND := StrReplace(chr(34), '', MSGend);
- ini.WriteString('STRING', Msgend, Msgend);
- Listbox1.Items.Add('Var String '+'"'+MSGend+'"'+' '+'Stocké dans (C:\Lvl.ini)');
- ini.Free
- end
- else break;
- end
- //=======================STR=====================
- else if sprocess2 = 'int' then
- //Cherche une chaine de caractère commençant par ' " '.
- while true do begin // si il y en a une...
- msgPos := Pos('"', sGo);
- if msgpos <> 0 then begin
- sCopy := Copy(sGo, msgPos + 1, Length(sGo));
- if pos('"', scopy) > 0 then begin
- MSGend := '"' + copy(scopy, 1, pos('"', scopy));
- delete(sgo, msgpos + 1, length(MSGend));
- end
- else break; // pas de fin de chaine marque par guillemet
- ini := tinifile.Create('C:\Lvl.ini');
- MSGEND := StrReplace(chr(34), '', MSGend);
- INT := strtoint(MSGend);
- ini.WriteInteger('INTEGER', Msgend, INT);
- Listbox1.Items.Add('Var Integer '+'"'+MSGend+'"'+' '+'Stocké dans (C:\Lvl.ini)');
- ini.Free
- end
- else break;
- end
-
- end;
- finally
- txtedition.Lines.EndUpdate;
- end;
- end;
//===================================================
//======================EXECUTER=====================
procedure TfrmEditeur.ExecuterClick(Sender: TObject);
var sprocess, sprocess2, s, sGo, sCopy, MSGend: ansistring;
N, msgPos, INT: integer;
ini: TiniFile;
begin
Listbox1.Items.Add('Executer EDS');
txtedition.Lines.BeginUpdate;
try
for N := 0 to txtedition.Lines.Count - 1 do
begin
s := txtedition.Lines[N];
sGo := txtedition.Lines[N];
sprocess := txtedition.Lines[N];
sprocess2 := Copy(sprocess, 1, 3);
//=======================FIN=====================
if sprocess2 = 'fin' then
Break
//=======================MSG=====================
else if sprocess2 = 'msg' then
//Cherche une chaine de caractère commençant par ' " '.
while true do begin // si il y en a une...
msgPos := Pos('"', sGo);
if msgpos <> 0 then begin
sCopy := Copy(sGo, msgPos + 1, Length(sGo));
if pos('"', scopy) > 0 then begin
MSGend := '"' + copy(scopy, 1, pos('"', scopy));
delete(sgo, msgpos + 1, length(MSGend));
end
else break; // pas de fin de chaine marque par guillemet
MSGEND := StrReplace(chr(34), '', MSGend);
showmessage(MSGend); // ---------------dans MSGend ya ton mot
Listbox1.Items.Add('MessageBox '+'"'+MSGend+'"');
end
else break;
end
//=======================STR=====================
else if sprocess2 = 'str' then
//Cherche une chaine de caractère commençant par ' " '.
while true do begin // si il y en a une...
msgPos := Pos('"', sGo);
if msgpos <> 0 then begin
sCopy := Copy(sGo, msgPos + 1, Length(sGo));
if pos('"', scopy) > 0 then begin
MSGend := '"' + copy(scopy, 1, pos('"', scopy));
delete(sgo, msgpos + 1, length(MSGend));
end
else break; // pas de fin de chaine marque par guillemet
ini := tinifile.Create('C:\Lvl.ini');
MSGEND := StrReplace(chr(34), '', MSGend);
ini.WriteString('STRING', Msgend, Msgend);
Listbox1.Items.Add('Var String '+'"'+MSGend+'"'+' '+'Stocké dans (C:\Lvl.ini)');
ini.Free
end
else break;
end
//=======================STR=====================
else if sprocess2 = 'int' then
//Cherche une chaine de caractère commençant par ' " '.
while true do begin // si il y en a une...
msgPos := Pos('"', sGo);
if msgpos <> 0 then begin
sCopy := Copy(sGo, msgPos + 1, Length(sGo));
if pos('"', scopy) > 0 then begin
MSGend := '"' + copy(scopy, 1, pos('"', scopy));
delete(sgo, msgpos + 1, length(MSGend));
end
else break; // pas de fin de chaine marque par guillemet
ini := tinifile.Create('C:\Lvl.ini');
MSGEND := StrReplace(chr(34), '', MSGend);
INT := strtoint(MSGend);
ini.WriteInteger('INTEGER', Msgend, INT);
Listbox1.Items.Add('Var Integer '+'"'+MSGend+'"'+' '+'Stocké dans (C:\Lvl.ini)');
ini.Free
end
else break;
end
end;
finally
txtedition.Lines.EndUpdate;
end;
end;
Conclusion
Cette source seras mise a jour assez souvent vu le projet. Si toute fois vous faite des mise a jour de cette source veuillez me l'envoyer pour que je puis la diffuser. Merci Bien sur les idées et conseille sont aussi les bienvenue
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 05 septembre 2007 05:45:32 :
- Utilisation du composant FireColorSynth pour la colorisation syntaxique
- 05 septembre 2007 07:00:18 :
- quelques bug pas très importe réparer
- 10 septembre 2007 04:47:44 :
- la première fonction de Lvl++
affiche MessageBox via Syntaxe: (msg "salut")
analyse ligne par ligne de mon RichEdit
Merci a métanil et Foxi pour leur aide
Prochaine étape:
syntaxe: (str.test "good")
mettre en mémoire une variable string
pour l'utiliser dans une condition
- 11 septembre 2007 17:33:12 :
- j'ai amélioré la Procedure EXECUTER en faisant appel à une autre fiche.
La syntaxe: str .clé.$valeur$ : et fini elle permet d'enregistré une variable string dans un fichier ini.
je pense que l'analyse ligne par ligne a un petit bug.
un Organigramme de la Procedure Executer et dans le ZIP
- 12 septembre 2007 19:31:34 :
- Bug sur l'analyse ligne par ligne régler.
Variable Integer fini.
Prochaine mise a jour:
Créer une condition simple.(sa va être dure...)
- 14 septembre 2007 23:52:35 :
- - de multiple fonction ajouter, colorisation syntaxe en pascal, c++, php,
- ouverture direct d'un fichier texte ou autre
- tool bar ajouter pour un meilleur accès a certaine fonction
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
|