Leser: 25
$| = 1; # puffern deaktivieren
2010-05-11T09:22:28 pqahso, "man" benutzt es nicht, weil sid burn das sagt.
danke.
2010-05-11T09:31:32 pqwollte nur hören, was du für argumente gelesen hast, warum "man das nicht mehr benutzt".
1
2
3
4
5
6
warte();
our @material = ws($ARGV[1]); # Material und Preis auslesen (json_read)
our @gewicht = wiegen(2);
our $preis = kosten($gewicht[0], $material[0], $material[1]); # ausrechnen der Gesamtkosten
our $preis_gesamt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
...
if($action == 2 and defined($serial))
{
my @werte;
for(my $i = 1; $i <= 5; $i++)
{
my $tmp = $serial->input;
my @wert = split(/\s+/, $tmp);
push(@werte, $wert[1]);
sleep(1);
}
# - letztes Arrayelement mit den vorhigen 2 prüfen - #
my @tmp2;
foreach(@werte)
{
if($_ eq $werte[4])
{
push(@tmp2, $_);
}
}
if(@tmp2 >= 3)
{
$gewicht = $tmp2[0];
$gewicht =~ s/;//g;
$gewicht =~ s/,/\./;
$gewicht =~ s/kg//;
}
else
{
Wx::MessageBox("Gewogene Werte stimmten nicht überein!\nVersuchen Sie es erneut.");
}
...
2010-05-11T10:15:07 pqgibt es einen grund, warum du genau auf meine nachfrage bzgl. autoflush an bianca antwortest?
wenn du dich auf mehrere antworten beziehst, antworte doch einfach auf dein eigenes posting oben, sonst fehlt doch völlig der zusammenhang. indem du deine antwort hier in den teilbaum stellst, wo es um flushing geht, stimmt der kontext ja gar nicht mehr.
anscheinend geht es ja um eine graphische oberfläche, was du aber wiederum nirgendwo erwähnst und man nur sehen kann, wenn man sich den code bis ganz unten anguckt und das Wx::MessageBox sieht.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
warten();
schleife();
sub warten
{
print "Ausgabe vor Schleife\n\n";
}
sub schleife
{
for($i = 0; $i < 5; $i++)
{
print "zeile: $i (sleep(1)\n";
sleep(1);
}
}
2010-05-11T11:41:21 pqer hat da eine dialogbox von Wx drin. ich denke nicht, dass er das über einen webserver laufen lassen wird ;-)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
use Wx 0.15 qw[:allclasses];
use strict;
package waage;
use Wx qw[:everything];
use base qw(Wx::Frame);
use strict;
sub new {
my( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;
$parent = undef unless defined $parent;
$id = -1 unless defined $id;
$title = "" unless defined $title;
$pos = wxDefaultPosition unless defined $pos;
$size = wxDefaultSize unless defined $size;
$name = "" unless defined $name;
# begin wxGlade: waage::new
$style = wxDEFAULT_FRAME_STYLE
unless defined $style;
$self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $style, $name );
$self->{label_text} = Wx::StaticText->new($self, -1, "Bitte Warten .", wxDefaultPosition, wxDefaultSize, );
my $timer = Wx::Timer->new($self, -1);
$timer->Start(500);
Wx::Event::EVT_TIMER($self, -1 , \&wait);
$self->__set_properties();
$self->__do_layout();
# end wxGlade
return $self;
}
sub __set_properties {
my $self = shift;
# begin wxGlade: waage::__set_properties
$self->SetSize(Wx::Size->new(220, 100));
$self->{label_text}->SetMinSize(Wx::Size->new(150, 19));
$self->{label_text}->SetFont(Wx::Font->new(12, wxDEFAULT, wxNORMAL, wxBOLD, 0, ""));
# end wxGlade
}
sub __do_layout {
my $self = shift;
# begin wxGlade: waage::__do_layout
$self->{sizer_1} = Wx::BoxSizer->new(wxVERTICAL);
$self->{sizer_1}->Add($self->{label_text}, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL, 35);
$self->SetSizer($self->{sizer_1});
$self->Layout();
# end wxGlade
}
sub wait {
my ($self, $event) = @_;
# wxGlade: Ueberwachung::gewicht <event_handler>
my $text = $self->{label_text}->GetLabel;
if($text eq "Bitte Warten .")
{
$self->{label_text}->SetLabel("Bitte Warten ..");
}
if($text eq "Bitte Warten ..")
{
$self->{label_text}->SetLabel("Bitte Warten ...");
}
if($text eq "Bitte Warten ...")
{
$self->{label_text}->SetLabel("Bitte Warten .");
}
# end wxGlade
}
# end of class waage
1;
1;
package main;
unless(caller){
local *Wx::App::OnInit = sub{1};
my $app = Wx::App->new();
Wx::InitAllImageHandlers();
my $waage = waage->new();
$app->SetTopWindow($waage);
$waage->Show(1);
$app->MainLoop(); # liegt hier der Fehler?
}
1;
package MyFrame;
use Wx qw[:everything];
use base qw(Wx::Frame);
use module::rs232;
use JSON;
use module::json_write;
use module::json_read;
use module::kasse;
use module::abbruch;
use strict;
sub new {
our( $self, $parent, $id, $title, $pos, $size, $style, $name ) = @_;
$parent = undef unless defined $parent;
$id = -1 unless defined $id;
$title = "" unless defined $title;
$pos = wxDefaultPosition unless defined $pos;
$size = wxDefaultSize unless defined $size;
$name = "" unless defined $name;
# begin wxGlade: MyFrame::new
$style = wxMAXIMIZE_BOX
unless defined $style;
our @material = ws($ARGV[1]); # Material und Preis auslesen (json_read)
our @gewicht = wiegen(2);
our $preis = kosten($gewicht[0], $material[0], $material[1]); # ausrechnen der Gesamtkosten
our $preis_gesamt;
...
Guest HubbiAlso führt er 5 mal sleep(1) durch, bis das Dialogfenster (sub warten) angezeigt wird.