south_paw
asked on
Tryin to call a function
Hello,
I have a quick question.... As it is academically related, I am not after answers, just a push in the right direction. I am studying in isolation though, so any advise would be greatly appreciated!!
Basically, I am trying to do the palindrome thing, and I'm 1/2 way there. I have cleaned the string (removed all non alpha numeric and changed to lowercase), now I am trying to call: procedure reverse(const: string; var T: string);
Which is where I am running into problems.
Here is my code so far:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Variants, Graphics, Controls, Forms,
Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
edtInput: TEdit;
Palindromes: TMemo;
SaveDialog1: TSaveDialog;
Test: TButton;
procedure TestClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
edtInput: TEdit;
Palindromes: TMemo;
const
Chars : Set of Char = ['a'..'z','A'..'Z','0'..'9 '];
implementation
{$R *.DFM}
function clean(const S: string): string;
var count: Integer;
begin
for count := 0 To Length(s) do
if S[count] in Chars
then result := result + S[count];
end;
procedure reverse(const S: string; var T: string);
begin
writeln(test);
// yet to write this part
end;
procedure TForm1.TestClick(Sender: TObject);
var result, input : string;
begin
if length(edtInput.Text) = 0 then
showMessage('Please enter text')
else
input := clean(edtInput.Text);
result := lowercase(s);
showmessage(clean(input));
{ tried top call the procedure here as in: input := reverse(edtInput); but it did not work. I am guessing that I am not passing enough parameters somehow, as in it expecting two strings? }
end;
end.
Many thanks.
I have a quick question.... As it is academically related, I am not after answers, just a push in the right direction. I am studying in isolation though, so any advise would be greatly appreciated!!
Basically, I am trying to do the palindrome thing, and I'm 1/2 way there. I have cleaned the string (removed all non alpha numeric and changed to lowercase), now I am trying to call: procedure reverse(const: string; var T: string);
Which is where I am running into problems.
Here is my code so far:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Variants, Graphics, Controls, Forms,
Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
edtInput: TEdit;
Palindromes: TMemo;
SaveDialog1: TSaveDialog;
Test: TButton;
procedure TestClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
edtInput: TEdit;
Palindromes: TMemo;
const
Chars : Set of Char = ['a'..'z','A'..'Z','0'..'9
implementation
{$R *.DFM}
function clean(const S: string): string;
var count: Integer;
begin
for count := 0 To Length(s) do
if S[count] in Chars
then result := result + S[count];
end;
procedure reverse(const S: string; var T: string);
begin
writeln(test);
// yet to write this part
end;
procedure TForm1.TestClick(Sender: TObject);
var result, input : string;
begin
if length(edtInput.Text) = 0 then
showMessage('Please enter text')
else
input := clean(edtInput.Text);
result := lowercase(s);
showmessage(clean(input));
{ tried top call the procedure here as in: input := reverse(edtInput); but it did not work. I am guessing that I am not passing enough parameters somehow, as in it expecting two strings? }
end;
end.
Many thanks.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Well actually S is not undefined. By default Delphi initializes a string valiable for you automatically. So actually S = ''
ASKER
I amended it to:
procedure reverse(const S: string; var T: string);
begin
messagebeep(0);
end;
procedure TForm1.TestClick(Sender: TObject);
var input : string;
begin
if length(edtInput.Text) = 0 then
showMessage('Please enter text')
else
input := clean(edtInput.Text);
input := lowercase(edtInput.Text);
showmessage('Cleaned output: ' + clean(input));
reverse(edtInput.text,inpu
end;
end.
The code compiles, and I get the beep at the end. Of interest, I do not have any problems even though S is undefined in my testClick procedure. Wierd.