1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

Запись в label1 , как записать ?

Тема в разделе 'ASM, С/С++, C#, Delphi, Java', создана пользователем disker, 23 янв 2012.

  1. 2-3 предложения (все они касаются если делаешь прогу не только себе... гы себе то какая разница как затупливать будет главное чтоб сделала)
    без димагогий на высокие темы
    1) не создавать кучу компонетов, даже динамически. Проблемы 1) расход памяти; 2) при изменении свойств нескольких компонентов в течении секунды - процу поплохеет
    2) .net вещь в себе - рандомные глюки могут запросто появится

    Предложение: если не хочешь гриды юзать возьми TextBox создай в нем 1200 строк и через 1 напиши свой текст
    делаем alClient цвет карячневый (как на форме), бардюры убрать и ридонли. Визуально тоже самое
  2. да, а можно просто создать один единственный label, и записывать значения...

    вот код, на форме 5 label'ов, 1 button и 2 трекбара:
    Код:
    procedure TForm1.btn1Click(Sender: TObject);
    var i,j:Integer;
        s:string;
    begin
      lbl1.Caption := ''; //сбрасываем значение
      for i := 1 to 25 do begin //25 строк
      lbl1.Caption := lbl1.Caption + #13; //символ переноса
        for j := 1 to 24 do begin //по 24 столбика
            s := FloatToStr(Random(100)); //случайное число
            if Length(s) < 3 then s := '0' + s;  // прошу прощения за кривой код
            if Length(s) < 3 then s := '0' + s;  // тут мы выравниваем до 3х символов
            lbl1.Caption := lbl1.Caption + ' - ' + s; //добовляем к label (тут "-" знак для дальнейшего поиска нужного значения)
        end;
      end;
    end;
     
    procedure TForm1.trckbr1Change(Sender: TObject);
    var i,k:Integer;
    begin
    lbl3.Caption := IntToStr(trckbr1.Position); //показываем номер столбца
    lbl4.Caption := IntToStr(trckbr2.Position); //показываем номер строки
    for i := 0 to Length(lbl1.Caption) do begin  //цикл по всей строке
      if Copy(lbl1.Caption,i,1) = '-' then k := k + 1;  //считаем каждый спец-символ
      if k = ((trckbr2.Position-1)*24 + trckbr1.Position)-1
      then lbl5.Caption := Copy(lbl1.Caption,i+3,3); //показываем требуемый символ
     
    end;
     
    end;
  3. Добрый день, вот набросал пример - разработано и проверено на C++Builder 2010, так что рабочий 100%. Чтение из файла не показывал, просто заменил инициализацию массива случайными числами, но сама суть осталась неизменной. (Примечание: имя главной формы Form1 - при необходимости измени его в примере) Держи:

    int array[600]; // Массив из 600 элементов
    // это вместо чтения из файла
    // заполнение массива случайными числами
    for(int i=0; i<600; i++)
    array=random(38);

    // Создание динамического массива TLabel
    TLabel *Lab[600];
    for(int j=0; j<600; j++)
    {
    // Динамическое создание компонентов
    Lab[j] = new TLabel(this);
    // Присвоение уникального имени
    Lab[j]->Name = "Label"+IntToStr(j);
    // Указание родителя
    Lab[j]->Parent = Form1;
    // Задание размеров компонентов
    Lab[j]->Width = 20;
    Lab[j]->Top = 20;
    // Смещение компонентов вниз
    Lab[j]->Left = 20;
    Lab[j]->Top += 20*j;
    // Запись значений в компоненты из массива
    Lab[j]->Caption = array[j];
    // Отображение компонентов
    Lab[j]->Show();
    }

    Если будут вопросы, рад буду видеть на своём сайте: cbuilder.inf.ua