2016-04-30 6 views
-1

i erhaltenDelphi const string Code

function TForm1.GetArsHedef(): String; 
const 
DosyaAdi: String = 'hello'; 

i

müssen den Code
function TForm1.GetArsHedef(): String; 
const 
DosyaAdi: String = edit1.text+edit2.text; 

aber auf nicht funktionieren die

jetzt dank helfen kann. etekno

+0

Warum brauchen Sie 'edit1.text + edit2.text' als' const'? Und welche Version von Delphi verwenden Sie? Siehe [Delphi zuweisen zu const] (http://stackoverflow.com/questions/4335606/delphi-assign-to-const). – lurker

+0

delphi seattle 10, mache ich Audio-Aufnahme-Programm –

+0

Warum sagen Sie, dass Sie "brauchen", dass? –

Antwort

2

Sie können nicht tun, was Sie tun möchten. Konstanten werden zur Kompilierzeit in ihre tatsächlichen Werte konvertiert und sind nicht dynamisch. Zumal diese Konstante lokal für eine Prozedur ist, verwenden Sie stattdessen einfach eine Variable. Das Wort "Konstante" selbst erklärt, dass es beabsichtigt ist, den gleichen Wert "konstant" zu sein.

In jedem Fall können Sie keine lokalen Variablen oder Konstanten definieren oder deklarieren, während Sie ihre Standardwerte auf eine andere Variable setzen. Um den Inhalt dieser Bearbeitungssteuerelemente zu lesen, muss Code explizit in die Implementierung geschrieben werden, um sie zuzuordnen.

+0

Sie können dies jedoch überprüfen: [Delphi zuweisen zu const] (http://stackoverflow.com/questions/4335606/delphi-assign-to-const). – lurker

+0

Ich denke, dass das op will, dass der Wert, der 'DosyaAdi' zugewiesen ist, beim Wiedereintreten der Funktion bestehen bleibt. Einige mögen zuweisbare Konstanten. – Johan

+0

@lurker Tatsächlich ist das Zuweisen zu einer Konstante technisch möglich, aber OP möchte eine Konstante mit einem direkten Verweis auf ein Steuerelement definieren. Ich persönlich sehe keinen Grund, eine Konstante zuweisen zu wollen, wenn Sie stattdessen eine Variable verwenden könnten. Es ist wie ein Auto zu kaufen, nur um es als Schneeschlitten zu benutzen. –

2

Konstanten müssen konstant sein. Sie müssen zur Kompilierzeit bekannt sein. Du brauchst eine Variable.

+0

Ausgenommene BIBLIOTHEK aber erhielt eine Kennung –

+0

Das ist ein anderes Problem. Sie haben eine unheimliche Fähigkeit gezeigt, keine Sequiteurs zu produzieren. –

+0

Ich weiß nicht, wie Ich habe gewählt, dass Sie die Werte auf einem Editor drucken möchten, aber es erlaubt nicht const Faktor (edit1.text + edit2.text) Ich möchte als –

2

Sie müssen eine Variable verwenden, und in Ihrer Funktion müssen Sie nicht einmal eine deklarieren. Delphi deklariert automatisch die Variable Result in einer Funktion und macht sie zum richtigen Typ, der zurückgegeben werden soll.

function TForm1.GetArsHedef(): String; 
begin 
    Result := Edit1.Text + Edit2.Text; 
end; 
Verwandte Themen