melckiy Опубликовано 9 июня, 2008 Жалоба Поделиться Опубликовано 9 июня, 2008 Короч есть у мя исходник программы вот при запуске исходников в делфи выдаёт много ошибок Вот не которые из ошибок которые пишит . Class TDBGridEh not faund. Ignore the error and continue? NOTE: Ignoring the error may cause components to be deleted or property values to be lost. Я пишу игнор и он опять кидает следующую ошибку. Class TEDBimage not faund. Ignore the error and continue? NOTE: Ignoring the error may cause components to be deleted or property values to be lost. Ищё выбивает следующую ошибку . Error reading Splitter1.ExplicitTop: Property ExplicitTop does not exist. Ignore the error and continue? NOTE: Ignoring the error may cause components to be deleted or property values to be lost. Как я понял у делфи нету тех компонентов на которых исходники , как понять коких компонентов мне не хватает? помогите плизз Ссылка на комментарий Поделиться на другие сайты Поделиться
StrangeRRor Опубликовано 9 июня, 2008 Жалоба Поделиться Опубликовано 9 июня, 2008 как понять коких компонентов мне не хватает? Из сообщений, которые тебе выдаёт Delphi. TDBGridEh - DBGridEh, TEDBimage - EDBimage, и т.д. Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth Emil Опубликовано 9 июня, 2008 Жалоба Поделиться Опубликовано 9 июня, 2008 melckiy: во-первых какая версия делфи? Ты её часом не русифицировал? Ссылка на комментарий Поделиться на другие сайты Поделиться
melckiy Опубликовано 10 июня, 2008 Автор Жалоба Поделиться Опубликовано 10 июня, 2008 версия делфи 7 не чего я не русифицировал )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth Emil Опубликовано 10 июня, 2008 Жалоба Поделиться Опубликовано 10 июня, 2008 melckiy: когда делфи ставил, ПОЛНУЮ установку делал? Ссылка на комментарий Поделиться на другие сайты Поделиться
Uka Опубликовано 23 июля, 2008 Жалоба Поделиться Опубликовано 23 июля, 2008 Судя по наименованию класса Вы пытаетесь скомпилировать проект содержащий компоненты из библиотеки EhLib Это стороняя библиотека компонентов для Delphi Ее необходимо проинсталировать, зарегестрировать пакеджи в делфи после чего все классы которые Вы перечислили появятся :-) Вот так. melckiy: когда делфи ставил, ПОЛНУЮ установку делал? TDBGridEh - не входит в стандартную поставку делфи необходимо скачать и доставить отдельно Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 Основательно уже подзабыл Делфи, но хочу немного изменить вид давно написанной проги. Надо всего лишь закрасить несколько колонок в StringGrid в фикисрованный цвет. Попробовал нагуглить, но там десятки статей с окрашиванием ячейки, получающей фокус. Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 (изменено) Основательно уже подзабыл Делфи, но хочу немного изменить вид давно написанной проги. Надо всего лишь закрасить несколько колонок в StringGrid в фикисрованный цвет. Попробовал нагуглить, но там десятки статей с окрашиванием ячейки, получающей фокус. Вот фрагмент кода по событию OnDrawCell для таблицы. Выделяет красным полем и белым цветом текст ячейки, помеченную как ошибочную в массиве ArrayOfErr Отрихтуй под себя. procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);varS:String;beginS:=Form1.StringGrid1.Cells[ACol,ARow];Form1.StringGrid1.Canvas.Brush.Color:=clMoneyGreen;if ARow mod 2 = 0 then begin Form1.StringGrid1.Canvas.Brush.Color:=RGB(255,255,150);end;if ARow=0 then Form1.StringGrid1.Canvas.Brush.Color:=clBtnFace;Form1.StringGrid1.Canvas.FillRect(Rect);Form1.StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,S);if ArrayOfErr[ACol,ARow] then beginwith Form1.StringGrid1.Canvas do begin Brush.Color:=clRed; Font.Color:=clWhite; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,S); end;end;end; Надеюсь на место подальше от двигателя в звездном корвете :) Изменено 20 марта, 2011 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 Отрихтуй под себя. :) Если бы я всё помнил. Понимаю что надо впихнуть строку типа: StringGrid1.Cells[3, gridx]:= clBlue ; Но куда и как оформить, пока не соображу. :dontgetit: Надеюсь на место подальше от двигателя в звездном корвете И возле иллюминатора. :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 (изменено) procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);//ACol - колонка таблицы, ARow - строка, Rect - прямоугольник, которому соответствует ячейка на канве таблицыvarS:String;gridx:Integer;begingridx:=2; //Не знаю, как ты передаешь эту переменнуюS:=Form1.StringGrid1.Cells[ACol,ARow]; //Считываем текст в ячейкеForm1.StringGrid1.Canvas.Brush.Color:=clMoneyGreen; //Цвет фона - мой любимый - люблю деньги и зеленые особенно :)if ARow=0 then Form1.StringGrid1.Canvas.Brush.Color:=clBtnFace; //Цвет первой строки таблицы (типа серый)Form1.StringGrid1.Canvas.FillRect(Rect); //Заполнение прямоугольника, соответствующего ячейкеForm1.StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,S); //Занесение туда тектса (закрашенного при заливке прямоугольникаif ACol=gridx then begin //условие - если колонкк имеет номер grdix with Form1.StringGrid1.Canvas do beginBrush.Color:=clBlue; //Выбор цвета заливкиFont.Color:=clWhite; //Выбор цвета текстаFillRect(Rect); //заливка прямоугольникаTextOut(Rect.Left+2,Rect.Top+2,S); //занесение текста поверх прямоуг end;end;end; Или уточни задание. Изменено 20 марта, 2011 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 StringGrid1.Cells[3, gridx]:= clBlue ; Увы, Cell не объект (не подобъект StringGrid, как можно бы было предположить по точке, отделяющей Grid от Cells. Поэтому тупо вручную закрашиваем и восстанавливаем текст на событие отрисовка ячейки - OnDrawCell. Благо Дельфя предоставляет положение этого прямоугольника через Rect независимо от того, проскроллил ли ты грид и куда. Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 Или уточни задание. Всё элементарно, без изысков. Есть таблица, куда заносятся цифры. Надо покрасить часть колонок в разные цвета (массив большой и ключевые колонки хочу выделить). Никакого изменения цвета в зависимости от фокуса, вводимых данных и т.д. Просто зафиксированные цвета. Приблизительно так (нарисовал в Вёрде): Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 Здесь как-то изначально закрасили строки. Мне бы также, только столбцы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 (изменено) // Глобальный массив ArrColTab:Array[0..100] of TColor;procedure TForm1.FormCreate(Sender: TObject);...for k:=0 to 24 do begin ArrColTab[k]:=clWhite;end;ArrColTab[3]:=clSkyBlue; назначаем фиксированные цвета избранным колонкамArrColTab[5]:=clAqua;ArrColTab[8]:=clYellow;ArrColTab[10]:=RGB(128,200,197);...end;procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);varS:String;clCellsNow:TColor;beginS:=Form1.StringGrid1.Cells[ACol,ARow];if ARow=0 then beginclCellsNow:=clBtnFace;; end else beginif ArrColTab[ACol]=clWhite then begin clCellsNow:=clMoneyGreen; if ARow mod 2 = 0 then begin // clCellsNow:=RGB(255,255,150); //полоски по горизонтали - бесплатный бонус end; // end else begin clCellsNow:=ArrColTab[ACol]; end;end;with Form1.StringGrid1.Canvas do begin Brush.Color:=clCellsNow; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,S);end;end; Для замены на строки ACol заменить на ARow Изменено 20 марта, 2011 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 20 марта, 2011 Жалоба Поделиться Опубликовано 20 марта, 2011 (изменено) Здесь как-то изначально закрасили строки. Мне бы также, только столбцы. ArrColTab:Array[0..100] of TColor;procedure TForm1.FormCreate(Sender: TObject);...for k:=0 to 24 do begin ArrColTab[k]:=clWhite;end;ArrColTab[1]:=RGB(248,182,246); //Цвета по образцуArrColTab[2]:=RGB(254,237,200);ArrColTab[3]:=RGB(184,226,246);ArrColTab[4]:=RGB(183,248,220);ArrColTab[6]:=clAqua;ArrColTab[8]:=clYellow;ArrColTab[10]:=RGB(128,200,197);...end;procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);varS:String;clCellsNow:TColor;beginS:=Form1.StringGrid1.Cells[ACol,ARow];if ARow=0 then beginclCellsNow:=clBtnFace; end else beginif ArrColTab[ARow]=clWhite then begin clCellsNow:=clMoneyGreen; end else begin clCellsNow:=ArrColTab[ARow]; end;end;if ACol=0 then clCellsNow:=clBtnFace;with Form1.StringGrid1.Canvas do begin Brush.Color:=clCellsNow; FillRect(Rect); TextOut(Rect.Left+2,Rect.Top+2,S);end;end; С отступами беда ... Изменено 20 марта, 2011 пользователем Teddy_Bear 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 21 марта, 2011 Жалоба Поделиться Опубликовано 21 марта, 2011 (изменено) Спасибо, попытаюсь вспомнить. Думал закрасить пару колонок - дело нескольких строчек. Изменено 21 марта, 2011 пользователем Skif Ссылка на комментарий Поделиться на другие сайты Поделиться
Skif Опубликовано 21 марта, 2011 Жалоба Поделиться Опубликовано 21 марта, 2011 Подумалось, а нельзя ли внести цвет для нескольких колонок в том редакторе Дельфина, где отражаются все сойства объектов, расположенных на форме? Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 21 марта, 2011 Жалоба Поделиться Опубликовано 21 марта, 2011 Подумалось, а нельзя ли внести цвет для нескольких колонок в том редакторе Дельфина, где отражаются все свойства объектов, расположенных на форме? Повторюсь, увы, Cell не объект (не подобъект StringGrid, как можно бы было предположить по точке, отделяющей Grid от Cells). Соответственно, через инспектор объектов не поуправляешь. Возможно, есть компонент с такими свойствами, но сомневаюсь. Посмотри на http://www.delphiplus.org/ БЕСПЛАТНО=> Rx Library за 2010 год - может появилось. По раскраске Grid ссылочка с подробными объяснениями http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168 Впрочем, принципиально нового там нет - ручное управление через OnDrawCell. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти