Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

listbox   Найти похожие ветки 

 
Дарья   (2006-04-10 21:43) [0]

можно еще вопросик,
у меня на форме listbox1 кнопка и лабел
в лист боксе находяться разные итемы с текстом типа "1а", "2а","7а","4в","4э"
в разном порядке,опять же пытаюсь в лабел1 закинуть все итемы 1x, где x - буква,а в лабел2 итемы с 4x
помогите плиз,я делаю это для работы,но совсем не знакома с delphi,мне на паляцах чето объяснили
как я понимаю надо использовать for,if


 
Gydvin ©   (2006-04-10 22:03) [1]

вопрос непонятен. Тебе что надо выбрать номера итемов где присутсвует "1+любая буква" и  "4+любая буква" или содержимое этих итемов. Или номера итемов где присутствуют "1Х" и  "4Х" или или содержимое этих итемов.
Более подробно пожалуста


 
Gydvin ©   (2006-04-10 22:05) [2]

Gydvin ©   (10.04.06 22:03) [1]
Во блин, а ошибок сколько )))


 
Дарья   (2006-04-10 22:13) [3]


> вопрос непонятен. Тебе что надо выбрать номера итемов где
> присутсвует "1+любая буква" и  "4+любая буква" или содержимое
> этих итемов. Или номера итемов где присутствуют "1Х" и  
> "4Х" или или содержимое этих итемов.
> Более подробно пожалуста


смари на примере,в listboxе:






мне нужно чтоб при нажатии на кнопку, в лабел 1 писалось кол-во этих "1а,э,в" т.е. 3, а в лабел 2 кол-во этих с "4в,г" т.е. число 2
дык в лист боксе их там разных многа с номером 1+буква и 4+буква и мне нужно их посчитать


 
Virgo_Style ©   (2006-04-10 22:20) [4]

программировать не умеем, сформулировать проблему не умеем... учиться не хотим... э-эх...

короче, оплата не озвучена.


 
Дарья   (2006-04-10 22:25) [5]


> программировать не умеем, сформулировать проблему не умеем.
> .. учиться не хотим... э-эх...
>
> короче, оплата не озвучена.

дело в том что я устроилась секретарем,меня напрягли сделать форму,чтобы в лэйбелах писалось типо "4" 1-ых класса, "3" 11-ых класса и .д.


 
Gydvin ©   (2006-04-10 22:31) [6]

Понятно, этот вариант я как раз и неучел )))

procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
s:string;
i,i1:integer;
begin
 i:=0;
 i1:=0;
 if listbox1.Items.Text="" then exit;
 for x:=0 to listbox1.Items.Count-1 do begin
     s:=listbox1.Items.Strings[x];
     if s<>"" then  begin
         if s[1]="1" then inc(i);
         if s[1]="4" then inc(i1);
     end;

 end;
 label1.Caption:=inttostr(i);
 label2.Caption:=inttostr(i1);
end;


 
Мефисто   (2006-04-10 22:40) [7]

Не все глюки устранены...

 var
   I, J: Integer;
   A: Array [1..11] of Integer;
begin
 FillChar(A, SizeOf(A), 0);

 for I := 0 to ListBox1.Items.Count - 1 do
   ListBox1.Items[I] := ListBox1.Items[I][1];

 ListBox1.Sorted := True;

 for J := 1 to 11 do
   for I := 0 to ListBox1.Items.Count - 1 do
     if ListBox1.Items[I] = IntToStr(J) then Inc(A[J]);

 Label1.Caption := IntToStr(A[4]) + "-х классов";
.....
end;


 
Gydvin ©   (2006-04-10 22:50) [8]


> Мефисто   (10.04.06 22:40) [7]


И чем же этот код лучше, а ну-ка в середину пустую строку и вот готово одно исключение. А если в перед "4" поставить пробел, как и у меня один класс не учтет. Только циклов больше


 
Gydvin ©   (2006-04-10 22:53) [9]

да и вообще конвертационных функций типа inttostr, да и еще в циклке.


 
Мефисто   (2006-04-10 22:53) [10]

Gydvin ©   (10.04.06 22:50) [8]

На все классы, но

Мефисто   (10.04.06 22:40) [7]
>> Не все глюки устранены...

:)


 
Дарья   (2006-04-10 22:56) [11]


> procedure TForm1.Button1Click(Sender: TObject);
> var
> x:integer;
> s:string;
> i,i1:integer;
> begin
>  i:=0;
>  i1:=0;
>  if listbox1.Items.Text="" then exit;
>  for x:=0 to listbox1.Items.Count-1 do begin
>      s:=listbox1.Items.Strings[x];
>      if s<>"" then  begin
>          if s[1]="1" then inc(i);
>          if s[1]="4" then inc(i1);
>      end;
>
>  end;
>  label1.Caption:=inttostr(i);
>  label2.Caption:=inttostr(i1);
> end;


пишет в лейбелы по "0" ;) я хз...


 
Дарья   (2006-04-10 22:58) [12]

хм...а теперь получилось....странно...ща потестю,спасибо ребят


 
Мефисто   (2006-04-10 23:01) [13]

значит по коду не встречаются ни 1-е ни 4-е классы.


 
Дарья   (2006-04-10 23:05) [14]

var
x:integer;
s:string;
i,i1,i2,i3,i4:integer;
begin
i:=0;
i1:=0;
i2:=0;
i3:=0;
i4:=0;
if listbox1.Items.Text="" then exit;
for x:=0 to listbox1.Items.Count-1 do begin
    s:=listbox1.Items.Strings[x];
    if s<>"" then  begin
        if s[1]="1" then inc(i);
        if s[1]="2" then inc(i1);
        if s[1]="3" then inc(i2);
        if s[1]="4" then inc(i3);
        if s[1]="5" then inc(i4);
    end;

end;
label1.Caption:=inttostr(i);
label2.Caption:=inttostr(i1);
label3.Caption:=inttostr(i2);
label4.Caption:=inttostr(i3);
label5.Caption:=inttostr(i4);
то что доктор прописал,спасб ребят,выручили


 
Gydvin ©   (2006-04-10 23:11) [15]

зато по этим двум кодам 10 и 11 класс сразу фтопку вылетают, а первоклашек явно становится больше )))))))


 
Мефисто   (2006-04-10 23:16) [16]

Gydvin ©   (10.04.06 23:11) [15]

Дык это.... повторение мать учения :)))


 
Shturmovik   (2006-04-10 23:17) [17]

Решаю задачи по Pascal и Delphi для студентов ВУЗов и старшеклассников. Оплата по WebMoney или Яндекс.Деньги. Вопросы сюда: shturmovik.mail@mail.ru


 
Мефисто   (2006-04-10 23:24) [18]

Shturmovik   (10.04.06 23:17) [17]

Зачем нам этот загнивающий капитализм, у нас комунизм
Все для народа, не важно какого потреба и качества
:)


 
Gydvin ©   (2006-04-10 23:34) [19]

procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
s,s1:string;
a:array [0..10]of integer;
label ik;
begin
 FillChar(A, SizeOf(A), 0);
 if listbox1.Items.Text="" then exit;
 for x:=0 to listbox1.Items.Count-1 do begin
     s:=listbox1.Items.Strings[x];

     if s<>"" then  begin
     while not(s[1]in ["0".."9"]) do begin
         delete(s,1,1);
         if s="" then goto ik;
     end;
     s1:=s[1];
     if length(s)>1 then
     if s[2] in ["0".."9"] then s1:=s1+s[2];

   if s1 =  "1"then inc(a[0]);
    if s1 =  "2"then inc(a[1]);
     if s1 =  "3"then inc(a[2]);
     if s1 =  "4"then inc(a[3]);
     if s1 =  "5"then inc(a[4]);
     if s1 =  "6"then inc(a[5]);
     if s1 =  "7"then inc(a[6]);
     if s1 =  "8"then inc(a[7]);
     if s1 =  "9"then inc(a[8]);
     if s1 =  "10"then inc(a[9]);
     if s1 =  "11"then inc(a[10]);

     end;
ik:
 end;
 label1.Caption:=inttostr(a[0]);
 label2.Caption:=inttostr(a[1]);
label3.Caption:=inttostr(a[2]);
label4.Caption:=inttostr(a[3]);
label5.Caption:=inttostr(a[4]);
label6.Caption:=inttostr(a[5]);
label7.Caption:=inttostr(a[6]);
label8.Caption:=inttostr(a[7]);
label9.Caption:=inttostr(a[8]);
label10.Caption:=inttostr(a[9]);
label11.Caption:=inttostr(a[10]);
end;

end.


Во блин )))))))


 
Дарья   (2006-04-10 23:35) [20]


> зато по этим двум кодам 10 и 11 класс сразу фтопку вылетают,
>  а первоклашек явно становится больше )))))))

аха,как же тогда быть?


 
Gydvin ©   (2006-04-10 23:37) [21]


> мать учения :)))


Мучения


 
Gydvin ©   (2006-04-10 23:38) [22]

Дарья   (10.04.06 23:35) [20]

Gydvin ©   (10.04.06 23:34) [19]

до 99 классов, хватит?


 
Дарья   (2006-04-10 23:39) [23]


> Gydvin ©   (10.04.06 23:38) [22]
>
> Дарья   (10.04.06 23:35) [20]
>
> Gydvin ©   (10.04.06 23:34) [19]
>
> до 99 классов, хватит?

нет,их всего 11,дожен знать;)


 
Дарья   (2006-04-10 23:42) [24]


> procedure TForm1.Button1Click(Sender: TObject);
> var
> x:integer;
> s,s1:string;
> a:array [0..10]of integer;
> label ik;
> begin
>  FillChar(A, SizeOf(A), 0);
>  if listbox1.Items.Text="" then exit;
>  for x:=0 to listbox1.Items.Count-1 do begin
>      s:=listbox1.Items.Strings[x];
>
>      if s<>"" then  begin
>      while not(s[1]in ["0".."9"]) do begin
>          delete(s,1,1);
>          if s="" then goto ik;
>      end;
>      s1:=s[1];
>      if length(s)>1 then
>      if s[2] in ["0".."9"] then s1:=s1+s[2];
>
>    if s1 =  "1"then inc(a[0]);
>     if s1 =  "2"then inc(a[1]);
>      if s1 =  "3"then inc(a[2]);
>      if s1 =  "4"then inc(a[3]);
>      if s1 =  "5"then inc(a[4]);
>      if s1 =  "6"then inc(a[5]);
>      if s1 =  "7"then inc(a[6]);
>      if s1 =  "8"then inc(a[7]);
>      if s1 =  "9"then inc(a[8]);
>      if s1 =  "10"then inc(a[9]);
>      if s1 =  "11"then inc(a[10]);
>
>      end;
> ik:
>  end;
>  label1.Caption:=inttostr(a[0]);
>  label2.Caption:=inttostr(a[1]);
> label3.Caption:=inttostr(a[2]);
> label4.Caption:=inttostr(a[3]);
> label5.Caption:=inttostr(a[4]);
> label6.Caption:=inttostr(a[5]);
> label7.Caption:=inttostr(a[6]);
> label8.Caption:=inttostr(a[7]);
> label9.Caption:=inttostr(a[8]);
> label10.Caption:=inttostr(a[9]);
> label11.Caption:=inttostr(a[10]);
> end;
>
> end.


во! работает как надо!чмак тя


 
Gydvin ©   (2006-04-10 23:42) [25]

а вдруг, вот у нас 12 лет образования ввели

но если так сильно нужно поменяй

 if s[2] in ["0".."9"] then s1:=s1+s[2]
на   if s[2] in ["0".."1"] then s1:=s1+s[2]

или здесь не добавляй

if s1 =  "1"then inc(a[0]);
   if s1 =  "2"then inc(a[1]);
    if s1 =  "3"then inc(a[2]);
    if s1 =  "4"then inc(a[3]);
    if s1 =  "5"then inc(a[4]);
    if s1 =  "6"then inc(a[5]);
    if s1 =  "7"then inc(a[6]);
    if s1 =  "8"then inc(a[7]);
    if s1 =  "9"then inc(a[8]);
    if s1 =  "10"then inc(a[9]);
    if s1 =  "11"then inc(a[10]);



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.042 c
3-1141232888
-Саша-
2006-03-01 20:08
2006.04.23
Создание БД в FireBird


15-1143789126
Курдль
2006-03-31 11:12
2006.04.23
Можно ли писать на Kylix под Solaris?


15-1143710570
Kolan
2006-03-30 13:22
2006.04.23
Как в Delphi 2006 задать рабочюю папку?


2-1144568610
alk2
2006-04-09 11:43
2006.04.23
Настройки Internet Explorer


2-1144535831
iyshnik
2006-04-09 02:37
2006.04.23
Относительный путь