see this here
module Box; import dwt.DWT; import dwt.widgets.Composite; import
dwt.widgets.Control; import dwt.widgets.Text; import dwt.widgets.Shell; import
dwt.widgets.Display; import tango.io.Stdout; class Box { private
Control[char[]] controls; // Use associative array this (Composite parent
,int style ) { auto box = new Composite(parent,DWT.SINGLE);
box.setSize(700,40); auto No = new Text(box,DWT.LEFT);
No.setBounds(1,15,10,15); No.setText(""); auto Date = new
Text(box,DWT.LEFT); Date.setBounds( 21, 15, 60, 15); Date.setText("");
auto Content = new Text(box,DWT.LEFT); Content.setBounds( 90,
15,70, 15); Content.setText(""); box.setVisible = true;
controls["No"] = No; controls["Date"] = Date; controls["Content"] =
Content; box.setTabList(controls.values); } void setText(char[]
name, char[] text) { controls[name].setText(text); } } void main ()
{ Display display = new Display (); Shell shell = new Shell (display);
shell.setText("Boxes"); Box mybox1 = new Box(shell,DWT.SINGLE);
mybox1.setText("No","wire"); Box mybox2 = new Box(shell,DWT.SINGLE);
mybox2.setText("Content","Fishingline"); shell.pack(); shell.open();
while (!shell.isDisposed ()) { if (!display.readAndDispatch ())
display.sleep (); } display.dispose (); }
/*----------------------------------------------------------------------------
Box.d(44): Error: no property 'setText' for type 'dwt.widgets.Control.Control'
Box.d(44): Error: function expected before (), not 1 of type int */
I play with and put in
}
void setText(char[] text)
{
setText(text);//dont understand why this does not cause infinite loop?
}
void setText(char[] name, char[]text)
{
// name.setText(text);
}
}
with layout in shell above compiles and runs giving 9 text boxes with right
text.
Question When setText(name,text ) is called Why does setText(text) not cause
infinit loop?
It calls itself seems so
I tried to put in 'override' but would not compile
Box.d(44): Error: no property 'setText' for type =
'dwt.widgets.Control.Control' Box.d(44): Error: function expected befo=
(), not 1 of type int */
I play with and put in
}
void setText(char[] text)
{
setText(text);//dont understand why this does not cause infinite loo=
}
void setText(char[] name, char[]text)
{
// name.setText(text);
}
}
with layout in shell above compiles and runs giving 9 text boxes with =
right text.
Question When setText(name,text ) is called Why does setText(text) n=
cause infinit loop?
It calls itself seems so
I tried to put in 'override' but would not compile
*wall of text crits for real.inf*
Someone might be more positive to helping you if the code were somewhat =
=
formatted. I'd recommend adding the occasional line break.
-- Simen
see this here
module Box; import dwt.DWT; import dwt.widgets.Composite; import
dwt.widgets.Control; import dwt.widgets.Text; import dwt.widgets.Shell; import
dwt.widgets.Display; import tango.io.Stdout; class Box { private
Control[char[]] controls; // Use associative array this (Composite parent
,int style ) { auto box = new Composite(parent,DWT.SINGLE);
box.setSize(700,40); auto No = new Text(box,DWT.LEFT);
No.setBounds(1,15,10,15); No.setText(""); auto Date = new
Text(box,DWT.LEFT); Date.setBounds( 21, 15, 60, 15); Date.setText("");
auto Content = new Text(box,DWT.LEFT); Content.setBounds( 90,
15,70, 15); Content.setText(""); box.setVisible = true;
controls["No"] = No; controls["Date"] = Date; controls["Content"] =
Content; box.setTabList(controls.values); } void setText(char[]
name, char[] text) { controls[name].setText(text); } } void main ()
{ Display display = new Display
The formatted code is:
---
module Box;
import dwt.DWT;
import dwt.widgets.Composite;
import dwt.widgets.Control;
import dwt.widgets.Text;
import dwt.widgets.Shell;
import dwt.widgets.Display;
import tango.io.Stdout;
class Box {
private Control[char[]] controls; // Use associative array
this(Composite parent, int style) {
auto box = new Composite(parent, DWT.SINGLE);
box.setSize(700, 40);
auto No = new Text(box, DWT.LEFT);
No.setBounds(1, 15, 10, 15);
No.setText("");
auto Date = new Text(box, DWT.LEFT);
Date.setBounds(21, 15, 60, 15);
Date.setText("");
auto Content = new Text(box, DWT.LEFT);
Content.setBounds(90, 15, 70, 15);
Content.setText("");
box.setVisible = true;
controls["No"] = No;
controls["Date"] = Date;
controls["Content"] = Content;
box.setTabList(controls.values);
}
void setText(char[] name, char[] text) {
controls[name].setText(text); // ** Here's the error **
}
}
void main() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Boxes");
Box mybox1 = new Box(shell, DWT.SINGLE);
mybox1.setText("No", "wire");
Box mybox2 = new Box(shell, DWT.SINGLE);
mybox2.setText("Content", "Fishingline");
shell.pack();
shell.open();
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
---
You are getting that error because the class Control doesn't have a
method named setText. You probably want to declare controls as follows:
private Text[char[]] controls; // Use associative array
(and probably use another name instead of controls)
I play with and put in
}
void setText(char[] text)
{
setText(text);//dont understand why this does not cause infinite loop?
}
When you defined that method, did you invoke it? If not, that's why you
didn't get infinite loops. But you should, if you invoke it.
void setText(char[] name, char[]text)
{
// name.setText(text);
}
}
with layout in shell above compiles and runs giving 9 text boxes with right
text.
Question When setText(name,text ) is called Why does setText(text) not cause
infinit loop?
That's a different question. setText(name, text) and setText(text) are
different methods: two methods are considered the same if they have the
same name, same formal arguments, and same return type.
It calls itself seems so
I tried to put in 'override' but would not compile
Because setText(char[] name, char[] text) is not a method of Object (the
class your Box is inheriting from). It wouldn't work either if you
extended from Text, because Text has the method setText(char[] text),
which is a different method than setText(char[] name, char[] text).
see this here
module Box; import dwt.DWT; import dwt.widgets.Composite; import
dwt.widgets.Control; import dwt.widgets.Text; import dwt.widgets.Shell; import
dwt.widgets.Display; import tango.io.Stdout; class Box { private
Control[char[]] controls; // Use associative array this (Composite parent
,int style ) { auto box = new Composite(parent,DWT.SINGLE);
box.setSize(700,40); auto No = new Text(box,DWT.LEFT);
No.setBounds(1,15,10,15); No.setText(""); auto Date = new
Text(box,DWT.LEFT); Date.setBounds( 21, 15, 60, 15); Date.setText("");
auto Content = new Text(box,DWT.LEFT); Content.setBounds( 90,
15,70, 15); Content.setText(""); box.setVisible = true;
controls["No"] = No; controls["Date"] = Date; controls["Content"] =
Content; box.setTabList(controls.values); } void setText(char[]
name, char[] text) { controls[name].setText(text); } } void main ()
{ Display display = new Display
The formatted code is:
---
module Box;
import dwt.DWT;
import dwt.widgets.Composite;
import dwt.widgets.Control;
import dwt.widgets.Text;
import dwt.widgets.Shell;
import dwt.widgets.Display;
import tango.io.Stdout;
class Box {
private Control[char[]] controls; // Use associative array
this(Composite parent, int style) {
auto box = new Composite(parent, DWT.SINGLE);
box.setSize(700, 40);
auto No = new Text(box, DWT.LEFT);
No.setBounds(1, 15, 10, 15);
No.setText("");
auto Date = new Text(box, DWT.LEFT);
Date.setBounds(21, 15, 60, 15);
Date.setText("");
auto Content = new Text(box, DWT.LEFT);
Content.setBounds(90, 15, 70, 15);
Content.setText("");
box.setVisible = true;
controls["No"] = No;
controls["Date"] = Date;
controls["Content"] = Content;
box.setTabList(controls.values);
}
void setText(char[] name, char[] text) {
controls[name].setText(text); // ** Here's the error **
}
}
void main() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Boxes");
Box mybox1 = new Box(shell, DWT.SINGLE);
mybox1.setText("No", "wire");
Box mybox2 = new Box(shell, DWT.SINGLE);
mybox2.setText("Content", "Fishingline");
shell.pack();
shell.open();
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
---
You are getting that error because the class Control doesn't have a
method named setText. You probably want to declare controls as follows:
private Text[char[]] controls; // Use associative array
(and probably use another name instead of controls)
I play with and put in
}
void setText(char[] text)
{
setText(text);//dont understand why this does not cause infinite loop?
}
When you defined that method, did you invoke it? If not, that's why you
didn't get infinite loops. But you should, if you invoke it.
void setText(char[] name, char[]text)
{
// name.setText(text);
}
}
with layout in shell above compiles and runs giving 9 text boxes with right
text.
Question When setText(name,text ) is called Why does setText(text) not cause
infinit loop?
That's a different question. setText(name, text) and setText(text) are
different methods: two methods are considered the same if they have the
same name, same formal arguments, and same return type.
It calls itself seems so
I tried to put in 'override' but would not compile
Because setText(char[] name, char[] text) is not a method of Object (the
class your Box is inheriting from). It wouldn't work either if you
extended from Text, because Text has the method setText(char[] text),
which is a different method than setText(char[] name, char[] text).
Ok file posted too but did not show only pasted contents direct here.
setText(name text) calls (invokes) setText(text) which is method of Text. Box
creates many Text objects , each has a setText(text) method .
Notice setText(text) calls itself ?
see this here
module Box; import dwt.DWT; import dwt.widgets.Composite; import
dwt.widgets.Control; import dwt.widgets.Text; import dwt.widgets.Shell; import
dwt.widgets.Display; import tango.io.Stdout; class Box { private
Control[char[]] controls; // Use associative array this (Composite parent
,int style ) { auto box = new Composite(parent,DWT.SINGLE);
box.setSize(700,40); auto No = new Text(box,DWT.LEFT);
No.setBounds(1,15,10,15); No.setText(""); auto Date = new
Text(box,DWT.LEFT); Date.setBounds( 21, 15, 60, 15); Date.setText("");
auto Content = new Text(box,DWT.LEFT); Content.setBounds( 90,
15,70, 15); Content.setText(""); box.setVisible = true;
controls["No"] = No; controls["Date"] = Date; controls["Content"] =
Content; box.setTabList(controls.values); } void setText(char[]
name, char[] text) { controls[name].setText(text); } } void main ()
{ Display display = new Displa
(); Shell shell = new Shell (display); shell.setText("Boxes"); Box
mybox1 = new Box(shell,DWT.SINGLE); mybox1.setText("No","wire"); Box mybox2
= new Box(shell,DWT.SINGLE); mybox2.setText("Content","Fishingline");
shell.pack(); shell.open(); while (!shell.isDisposed ()) { if
(!display.readAndDispatch ()) display.sleep (); } display.dispose (); }
/*----------------------------------------------------------------------------
Box.d(44): Error: no property 'setText' for type 'dwt.widgets.Control.Control'
Box.d(44): Error: function expected before (), not 1 of type int */
The formatted code is:
---
module Box;
import dwt.DWT;
import dwt.widgets.Composite;
import dwt.widgets.Control;
import dwt.widgets.Text;
import dwt.widgets.Shell;
import dwt.widgets.Display;
import tango.io.Stdout;
class Box {
private Control[char[]] controls; // Use associative array
this(Composite parent, int style) {
auto box = new Composite(parent, DWT.SINGLE);
box.setSize(700, 40);
auto No = new Text(box, DWT.LEFT);
No.setBounds(1, 15, 10, 15);
No.setText("");
auto Date = new Text(box, DWT.LEFT);
Date.setBounds(21, 15, 60, 15);
Date.setText("");
auto Content = new Text(box, DWT.LEFT);
Content.setBounds(90, 15, 70, 15);
Content.setText("");
box.setVisible = true;
controls["No"] = No;
controls["Date"] = Date;
controls["Content"] = Content;
box.setTabList(controls.values);
}
void setText(char[] name, char[] text) {
controls[name].setText(text); // ** Here's the error **
}
}
void main() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Boxes");
Box mybox1 = new Box(shell, DWT.SINGLE);
mybox1.setText("No", "wire");
Box mybox2 = new Box(shell, DWT.SINGLE);
mybox2.setText("Content", "Fishingline");
shell.pack();
shell.open();
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
---
You are getting that error because the class Control doesn't have a
method named setText. You probably want to declare controls as follows:
private Text[char[]] controls; // Use associative array
(and probably use another name instead of controls)
I play with and put in
}
void setText(char[] text)
{
setText(text);//dont understand why this does not cause infinite loop?
}
didn't get infinite loops. But you should, if you invoke it.
void setText(char[] name, char[]text)
{
// name.setText(text);
}
}
with layout in shell above compiles and runs giving 9 text boxes with right
text.
Question When setText(name,text ) is called Why does setText(text) not cause
infinit loop?
different methods: two methods are considered the same if they have the
same name, same formal arguments, and same return type.
It calls itself seems so
I tried to put in 'override' but would not compile
class your Box is inheriting from). It wouldn't work either if you
extended from Text, because Text has the method setText(char[] text),
which is a different method than setText(char[] name, char[] text).
Ok file posted too but did not show only pasted contents direct here.
setText(name text) calls (invokes) setText(text) which is method of Text. Box
creates many Text objects , each has a setText(text) method .
Notice setText(text) calls itself ?
Could you please point where in the pasted code is that call? I can't
see it. I can see it, thought, separated from the rest of the code
(after you wrote "I play with and put in"). Can you paste the modified
main method, then?
Could you please point where in the pasted code is that call? I can't
see it. I can see it, thought, separated from the rest of the code
(after you wrote "I play with and put in"). Can you paste the modified
main method, then?
Could you please point where in the pasted code is that call? I can't
see it. I can see it, thought, separated from the rest of the code
(after you wrote "I play with and put in"). Can you paste the modified
main method, then?
Why answer to Ty Tower idiot at all?
Aah... I didn't know it was Ty Tower. But maybe you are right because of
the extra spaces before dots and commas...
Whether you are Ty Tower or not, I'd recommend you to read some OOP book
or tutorial.
Could you please point where in the pasted code is that call? I can't
see it. I can see it, thought, separated from the rest of the code
(after you wrote "I play with and put in"). Can you paste the modified
main method, then?
Why answer to Ty Tower idiot at all?
seem Confusious had a toerag - it still around but at least post more than one
word this time .
Pity you not in earthquake