Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Konvertierer von For-Step-Next von Basic nach Delphi (https://www.delphipraxis.net/163787-konvertierer-von-step-next-von-basic-nach-delphi.html)

ccc2 16. Okt 2011 15:23

Konvertierer von For-Step-Next von Basic nach Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Erzeugt aus einer For-Step-Next in Basic den Quellcode in Delphi.

isilive 25. Nov 2011 10:47

AW: Konvertierer von For-Step-Next von Basic nach Delphi
 
Recht einfache Sache, aber funktioniert.

himitsu 25. Nov 2011 12:41

AW: Konvertierer von For-Step-Next von Basic nach Delphi
 
Die Schleife für das linke "Vorschaufenster" besser noch mit einem Timeout versehen.

z.B. maximal 1000 Durchläufe oder maximal 5 Sekunden

Gibt z.B. mal 5, 1 und 0 ein.


Und wenn Start- kleiner Stopp-Wert, dann Dec() verwenden ... also quasi ein downto.


PS: Ein Screenshot kann nie schaden.



[add]
Zitat:

---------------------------
Forbasic2delphi
---------------------------
Die Schleife wird nicht durchlaufen.
---------------------------
OK
---------------------------
für
Delphi-Quellcode:
for a = 1 to 2 step 3 do
stimmt nicht, denn einmal wird es durchlaufen, nämlich mit dem (Start)Wert 1.

Tipp: Das "a" auch noch veränderbar machen.

himitsu 25. Nov 2011 13:03

AW: Konvertierer von For-Step-Next von Basic nach Delphi
 
Über die OpenToolsAPI wäre das Ganze bestimmt auch recht nett (Taskürzel oder übers Menü, im diesem Fenster einstellen und dann würde der Code direkt in den Programmcode eingefügt)

Alternativ könnte man dein Programm auch wenigstens im Delphi verlinken. (ich hoffe das geht schon im D3)
Menü > Tools > Tools konfigurieren > dort hinzufügen


Oder man geht über die Code-Templates (Live-Templates/Vorlagen/Codevorlagen) und kann es direkt als Autovervollständigung/Quellcodevervollständigunh nutzen.
Ginge so ab Delphi 2006 oder so.

z.B. "fori" + Leertaste oder "ford" + Leertaste schreiben, dann die Variablennamen + Werte eingeben (weiter mit Tab), Enter und fertig.

Hinzufügen: Menü > Vorlagen > neue Vorlage
XML-Code:
<?xml version="1.0" encoding="utf-8"?>

<codetemplate version="1.0.0" xmlns="http://schemas.borland.com/Delphi/2005/codetemplates">
   <template name="fori" surround="true" invoke="manual">
      <script language="Delphi" onenter="false" onleave="false" onvalidate="true">
         ValidateForTemplate;
      </script>
      <point name="index">
         <text>
         I
         </text>
         <hint>
            Schleifenzähler
         </hint>
      </point>
      <point name="start">
         <text>
         0
         </text>
         <hint>
            Schleifen-Untergrenze
         </hint>
      </point>
      <point name="stop">
         <text>
            List.Count - 1
         </text>
         <hint>
            Schleifen-Obergrenze
         </hint>
      </point>
      <point name="step">
         <text>
            2
         </text>
         <hint>
            Schleifen-Schrittweite
         </hint>
      </point>
      <description>
         for-Schleife mit Sprüngen
      </description>
      <author>
         himitsu
      </author>
      <script language="Delphi" onenter="false" onleave="true">
         DeclareVariable(|index|);
      </script>
      <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[|index| := |start|;
while |index| <= |stop| do begin
  |*||end|
  Inc(|index|, |step|);
end;]]>
      </code>
   </template>
</codetemplate>
XML-Code:
<?xml version="1.0" encoding="utf-8"?>

<codetemplate version="1.0.0" xmlns="http://schemas.borland.com/Delphi/2005/codetemplates">
   <template name="ford" surround="true" invoke="manual">
      <script language="Delphi" onenter="false" onleave="false" onvalidate="true">
         ValidateForTemplate;
      </script>
      <point name="index">
         <text>
         I
         </text>
         <hint>
            Schleifenzähler
         </hint>
      </point>
      <point name="start">
         <text>
            List.Count - 1
         </text>
         <hint>
            Schleifen-Obergrenze
         </hint>
      </point>
      <point name="stop">
         <text>
         0
         </text>
         <hint>
            Schleifen-Untergrenze
         </hint>
      </point>
      <point name="step">
         <text>
            2
         </text>
         <hint>
            Schleifen-Schrittweite (rückwärts)
         </hint>
      </point>
      <description>
         for-Schleife mit Sprüngen
      </description>
      <author>
         himitsu
      </author>
      <script language="Delphi" onenter="false" onleave="true">
         DeclareVariable(|index|);
      </script>
      <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[|index| := |start|;
while |index| >= |stop| do begin
  |*||end|
  Dec(|index|, |step|);
end;]]>
      </code>
   </template>
</codetemplate>


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz