Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.013 c
15-1143821609
lookin
2006-03-31 20:13
2006.04.23
Играл ли кто в НХЛ2005/06?


4-1138860238
Сергей Ю.
2006-02-02 09:03
2006.04.23
Отлов подключения флешки и залива туда инфы


2-1144298865
Indulf
2006-04-06 08:47
2006.04.23
Как задать массив из БД


1-1142447074
Zoom
2006-03-15 21:24
2006.04.23
Модуль для работы с большими числами


15-1144214872
Ega23
2006-04-05 09:27
2006.04.23
С Днём рождения! 5 марта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский