Listener output
Barry Denton
basse42 at yahoo.com
Sat Apr 19 14:06:44 PDT 2008
Barry Denton Wrote:
> Jarrett Billingsley Wrote:
>
> > "Barry Denton" <basse42 at yahoo.com> wrote in message
> > news:fubgb0$22go$1 at digitalmars.com...
> > >I have a Listener added to a button as so :-
> > >
> > > button.addListener(DWT.Selection, new class Listener {
> > > void handleEvent(Event event) {
> > > itemWords [5] = "item has changed " ;//~
> > > System.currentTimeMillis();
> > > minitable.clear(5); } });
> > >
> > > When pressed the button outputs this:-
> > >
> > > Event {missing or misplaced '}'}Event {type=13 Button {Change item}
> > > time=1679601378 data={null} x=0 y=0 width=0 height=0 detail=0}
> > > .
> > > Now all is as it should be except for the {missing or misplaced '}'}
> >
> > Tango's formatting uses a pair of curly braces like "{}". Your output is
> > supposed to go "{Event {type=13....", but Tango sees the opening '{', tries
> > to parse it as a format specifier, and fails, leaving you with an error
> > message embedded in the output.
> >
> > The question I have is: where is this output being generated? This code
> > doesn't seem to generate it.
> >
> > I ask because it's a simple fix: instead of doing something like
> > "Stdout.formatln(x.toString())", just use "Stdout.formatln("{}", x)", that
> > is, escape the string by making it a parameter to be formatted.
> >
> >
> Thanks but this did not work .Did I mess it up?
> button.addListener(DWT.Selection, new class Listener {
> void handleEvent(Event event) {
> itemWords [5] = ("item has changed " ~ clock.stringof~" "~ cast(char)clock);
> Stdout.formatln("{}""{}" ,event.mangleof, event.stringof).newline;
> Stdout.formatln("{}""{}" ,clock.mangleof, clock.stringof).newline;
> Stdout.print(itemWords).newline;
> minitable.clear(5);
>
Tried this but still there
button.addListener(DWT.Selection, new class Listener {
void handleEvent(Event event) {
itemWords [5] = ("item has changed " ~ clock.stringof~" "~ cast(char)clock);
Stdout.formatln("{}""{}" ,event.mangleof, event.stringof).newline;
Stdout.formatln("{}""{}" ,clock.mangleof, clock.stringof).newline;
Stdout.formatln("{}",event);
Stdout.print(itemWords).newline;
minitable.clear(5);
Output
C3dwt7widgets5Event5Eventevent
PS5tango4time9WallClock9WallClockclock
Event {missing or misplaced '}'}Event {type=13 Button {Change item at index 5} time=1753196186 data={null} x=0 y=0 width=0 height=0 detail=0}
[ item 0 , item 1 , item 2 , item 3 , item 4 , item has changed clock , item 6 , item 7 , item 8 , item 9 ]
Event {missing or misplaced '}'}Event {type=36 Table {} time=1753196186 data={null} x=0 y=0 width=0 height=0 detail=0}
More information about the Digitalmars-d-learn
mailing list