Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Nicola - Marzo 16, 2017, 05:33:05 pm

Titolo: Edit e Input Box
Inserito da: Nicola - Marzo 16, 2017, 05:33:05 pm
Ho creato una funzione che nel momento in cui digito in una casella edit una lettera mi vengono mostrate
una serie di stringhe corrispondenti, mano a mano che digito i caratteri la ricerca si restringe (quello che
normalmente succede ad esempio nella barra di un motore di ricerca qualsiasi);
volevo utilizzare questa possibilità anche con il comando input box (in quanto la casella mi da problemi
in fase di controllo della stessa --considerate che sono un principiante--); il problema è che input box attende
la fine della digitazione del testo per poi poter operare, non ho quindi il controllo carattere per carattere.
Rileggendo questo topic http://www.lazaruspascal.it/index.php?topic=1809.msg10511#msg10511 ho provato a crearmi un input box personalizzato ma mi son bloccato subito
in quanto mi appare questo messaggio: "
Compila il progetto, Destinazione: project1.exe: Codice di uscita 1, Errori: 4
unit2.pas(21,13) Error: Identifier not found "LCLIntf"
unit2.pas(21,44) Error: Identifier not found "ConvertLineEndings"
unit2.pas(28,3) Error: Wrong number of parameters specified for call to "InputQueryMy"
unit2.pas(11,12) Error: Found declaration: InputQueryMy(const AnsiString;const AnsiString;Boolean;var AnsiString):Boolean;"
questo il codice:
Codice: [Seleziona]
unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils,FileUtil, Forms, Controls, Graphics, Dialogs;

  function InputBoxMy(const ACaption, APrompt, ADefault : String) : String;
  function InputQueryMy(const ACaption, APrompt : String; MaskInput : Boolean;
  var Value : String) : Boolean;


implementation


function InputQuery(const ACaption, APrompt : String; MaskInput : Boolean;
  var Value : String) : Boolean;
begin
  Result := LCLIntf.RequestInput(ACaption, ConvertLineEndings(APrompt),
    MaskInput, Value);
end;

function InputBoxMy(const ACaption, APrompt, ADefault : String) : String;
begin
  Result := ADefault;
  InputQueryMy(ACaption, APrompt, Result);
end;

end.
troppo complesso probabilmente per me metter mano ai sorgenti; ci sono alternative?
Titolo: Re:Edit e Input Box
Inserito da: Stilgar - Marzo 16, 2017, 07:29:06 pm
Ciao Nicola.
Nella sezione Implementation aggiungi
Codice: [Seleziona]
Uses
  LCLIntf;

Poi fammi sapere :)

Stilgar
Titolo: Re:Edit e Input Box
Inserito da: Nicola - Marzo 16, 2017, 10:39:02 pm
Messaggi di errore ridotti a:
"Compila il progetto, Destinazione: inputboxmy.exe: Codice di uscita 1, Errori: 3
unit2.pas(21,44) Error: Identifier not found "ConvertLineEndings"
unit2.pas(28,3) Error: Wrong number of parameters specified for call to "InputQueryMy"
unit2.pas(11,12) Error: Found declaration: InputQueryMy(const AnsiString;const AnsiString;Boolean;var AnsiString):Boolean;
"