• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Nicht-funktionale dcl-Dateien

  • Ersteller Ersteller Angelo2449
  • Erstellt am Erstellt am

Angelo2449

Guest
Hallo alle,
Ich versuche vergeblich, dieses einfache Programm lisp und dcl zu machen.
Ich versuchte sie alle, ich möchte wissen, warum es nicht funktioniert, danke Ihnen im Voraus.
Code:
; myyesno - Fragedialog mit einer Fragezeile
; Argumente: 2.
; Titel$ = Dialogtitel
; Frage$ = Fragezeile
; syntax: (myyesno " my ja no" "Gefällt dir, Programme in autolisp zu erstellen?")
-----------------------------------------------------------------------------------
(defun c:myyesno (Titel $ Frage$ / Antwort$ dcl_id% return#)
(princ "\nmyyesno")(princ)
(setq dcl_id% (load_dialog "myyesno.dcl"))
(new_dialog "myyesno" dcl_id%)
(set_tile "title" title$)
(set_tile "text1" Frage$)
(action_tile "yes" "(done_dialog 1)")
(action_tile "no" "(done_dialog 0)")
(setq return# (start_dialog))
(unload_dialog dcl_id%)
(wenn (= zurück # 1)
(setq Antwort$ "ja")
(setq Antwort$ "no")
), wenn
(princ "\n")(princ reply$)(princ);optional
Antwort$
); defun myyesno

----------------------------------------------------------------------------------------------
// myyyesno
// Hinweis: Die Breite für den Text1 Schlüssel wurde durch das Syntaxbeispiel bestimmt und
// muss entsprechend Ihren Anforderungen geändert werden. Beachten Sie auch, dass die Tasten
// für ja und nein, die hinzugefügte fix_width = true;.
----------------------------------------------------------------------------------------------
myyesno: Dialog {
Schlüssel = "Titel";
Label = "";//title$ von lsp Datei
Abstandshalter;
: Text {
Schlüssel = "text1";
Label = "";//question$ von lsp Datei
Breite = 35.0;
Ausrichtung = zentriert;
}
Abstandshalter;
: Zeile {
fix_width = true;
Ausrichtung = zentriert;
: Taste {
Schlüssel = "ja";
Label = "&yes";
is_default = true;
Breite = 7,92;
fix_width = true;
}
: Taste {
Schlüssel = "nein";
Etikett = "&no";
is_cancel = true;
Breite = 7,92;
fix_width = true;
}
}
}//myyyesno
 
nach
(new_dialog "myyesno" dcl_id%)
Zu den Favoriten hinzufügen
(wenn (new_dialog "myyesno" dcl_id%)) (exit)
wenn Sie die myyesno.dcl-Datei nicht finden, endet das Programm.
Es ist eine Regel, immer zu folgen, es vermeidet Sie verrückt zu gehen versuchen, den Fehler zu finden, der nur im Fehlen der dcl-Datei ist.
ovviate dazu oder den Pfad in Suchpfaden hinzufügen oder angeben, z.B.:
"c:/mypercourse/myyesno" oder "c:\\mypercourse\myyesno"
 
Danke.
Ich habe die Zeile eingegeben, aber ich bekomme immer den Fehler: "Befehl: myyesno; Fehler: fehlende Argumente"
 
Ich habe vergessen:
Syntax: (c)myyesno "mein ja nein" "Gefällt dir das Erstellen von Programmen in autolisp?")
Sizilien
 
Tut mir leid, aber ich kann es nicht funktionieren, ich bekomme immer "fehlen Fehler"
Danke.
Code:
; myyesno - Fragedialog mit einer Fragezeile
; Argumente: 2.
; Titel$ = Dialogtitel
; Frage$ = Fragezeile
; syntax: (myyesno " my ja no" "Gefällt dir, Programme in autolisp zu erstellen?")
-----------------------------------------------------------------------------------
(defun c:myyesno (Titel $ Frage$ / Antwort$ dcl_id% return#)
(princ "\nmyyesno")(princ)
(setq dcl_id% (load_dialog "myyesno.dcl"))
(new_dialog "myyesno" dcl_id%)
(wenn nicht (new_dialog "c:myyesno" dcl_id%)) (exit))
(set_tile "title" title$)
(set_tile "text1" Frage$)
(action_tile "yes" "(done_dialog 1)")
(action_tile "no" "(done_dialog 0)")
(setq return# (start_dialog))
(unload_dialog dcl_id%)
(wenn (= zurück # 1)
(setq Antwort$ "ja")
(setq Antwort$ "no")
), wenn
(princ "\n")(princ reply$)(princ);optional
Antwort$
); defun myyesno




----------------------------------------------------------------------------------------------
// myyyesno
// Hinweis: Die Breite für den Text1 Schlüssel wurde durch das Syntaxbeispiel bestimmt und
// muss entsprechend Ihren Anforderungen geändert werden. Beachten Sie auch, dass die Tasten
// für ja und nein, die hinzugefügte fix_width = true;.
----------------------------------------------------------------------------------------------
myyesno: Dialog {
Schlüssel = "Titel";
Label = "";//title$ von lsp Datei
Abstandshalter;
: Text {
Schlüssel = "text1";
Label = "";//question$ von lsp Datei
Breite = 35.0;
Ausrichtung = zentriert;
}
Abstandshalter;
: Zeile {
fix_width = true;
Ausrichtung = zentriert;
: Taste {
Schlüssel = "ja";
Label = "&yes";
is_default = true;
Breite = 7,92;
fix_width = true;
}
: Taste {
Schlüssel = "nein";
Etikett = "&no";
is_cancel = true;
Breite = 7,92;
fix_width = true;
}
}
}//myyyesno
 
erstellen Sie ein Verzeichnis und kopieren Sie die beiden Dateien.
zu Suchpfaden das erstellte Verzeichnis hinzufügen.
den Dialog hochladen. lsp-Datei und geben Sie Befehl ein:(c:myyesno "my ja nein" "Gefällt Ihnen, Programme in autolisp zu erstellen?") Ich habe es versucht und es funktioniert.
 

Anhänge

Ich versuchte es funktioniert, jetzt möchte ich die beiden Dateien bearbeiten, um sie zu verwenden, nicht als "myyesno" in einer generischen Weise, sondern in einer bestimmten Weise, also in der Einführung, den Text der Frage.
der Text der Frage sollte Teil der Dateien selbst sein, so dass das Starten des Befehls nur mit seinem Namen, da ein Lisp normalerweise gestartet wird.
Kannst du das tun?
die Frage ist "Sie wollen wirklich die Datei löschen '", der Name der beiden Dateien "eliminalib" und der Name der Tasten "ja" und "nein"
Ich habe versucht, es selbst zu tun, aber mit enttäuschenden Ergebnissen.
Danke.
 
von lisp einfach als Funktion verwenden:
(wenn (= (c:myyesno "elimina" "Sie wollen wirklich die Datei löschen?") "ja"
(Anweisung, Dateien zu löschen)
)
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben