В принципе уже все раскопал.Просто в дебрях кода хранилась еще одна команда,где фокус и сбрасывался в 1,1.
Я ее только пошаговым отладчиком выловил.
Теперь еще одна задача и мне пока невдомек почему так происходит.Забиваю,значит я свою табличку данными из АЦП.При завершении заполнения таблички вызывается подпрограмма цветовой раскраски ячеек в зависимости от их содержимого.Процедурка в принципе немудреная,примеров кода в Интернете не скупо.Ну вот мой.
procedure TForm2.Raskraska;//раскраска ячеек соответственно значения
var yac:TRect;
r,c:byte;//строки,колонки таблицы
u:byte=0;
begin With StringGrid1 do
begin
for c:=14 downto 1 do for r:=5 downto 1 do //в таблице 14 колонок в 5 строк
begin
yac:=CellRect(c,r);//определяем текущую ячейку
u:=strToint(Cells[c,r]);//считываем с нее данные и преобразуем в чисельный вид
case u of //и анализируем..
1..8:Canvas.Brush.Color:=$00FFFFAA;
9..16:Canvas.Brush.Color:=clLime;
17..24:Canvas.Brush.Color:=clRed;
25:Canvas.Brush.Color:=$00DF00DF;
end;
Canvas.FillRect(yac);//здесь ячейку и красим
// Canvas.TextOut(yac.Left+3, yac.Top+3, Cells[c,r]);// это вариант кода 1
// Canvas.TextRect(yac,3,3,Cells[c,r]);// а это вариант кода 2
update;
end;
end;
end;Ну вот.После того как данные АЦП полностью заполнят табличные ячейки,вызывается эта раскрасочная процедура,все красится,все красиво.По ходу дела табличка сохраняется в файл командой StringGrid1.SaveToFile('tabl.dat');
И вот когда я захожу в программу повторно,на форме есть кнопочка "Прочитать из файла".То бишь кнопочка командой StringGrid1.LoadFromFile('tabl.dat') считывает данные в пустую табличку.Но вызванная вслед за ней процедура раскраски делает абракадабру.Ячейки она красит правильно,но текста не видно.Только щелчок мышкой на ячейке возвращает ей ее "природний" белый цвет и проявляет содержимое.Это,когда я пользуюсь вариантом кода вывода текста №2 (Canvas.TextRect(yac,3,3,Cells[c,r]);// а это вариант кода 2).
Если же используется вариант №1 (Canvas.TextOut(yac.Left+3, yac.Top+3, Cells[c,r]);) текст все-таки выводится.
Жирные красные цифры,которые при закраске ячейки красным,снова же-таки не видны.Что делать - пока не второпаю...
Добавлено спустя 29 минут 29 секунд:Stilet иногда в паскалевских программах бывают такие заморочки.И вот,что я могу сказать из своего опыта.
1.Если прога раньше компилировалась нормально,а теперь капризится,проверь в диспетчере процессов (Ctrl+Alt+Del),может она уже раз запускалась и там висит работающая ее копия.Если да - закрой процесс проги прям в диспетчере и попробуй компилировать снова.
2.Иногда Паскаль капризится,встретив кирилицу в прописях путей к файлам.Попробуй заменить свой "интернет" на "internet".Старайся,чтобы пути к исполняемым файлам были короткими.Не любит Паскаль длинных путей,а еще если в именах есть пробелы,так вообще капец...
3.Бывает все вроде бы сделал,а компиляция не идет.Чисто случайно выловил,если файл с кодом открываешь в постороннем (не паскалевском) редакторе и что-то там правишь,а потом сохраняешь файл,компилятор потом выдает непонятно откуда берущиеся ошибки.Просто некоторые посторонние редакторы вносят в текст невидимые символы на которых компилятор и спотыкается.У меня нередко такие конфликты случались с всеми любимыи Блокнотом.После правки кода в Блокноте плевался не только Паскаль 7,но и ранние версии Делфи и Лазаруса.С тех пор я и не рискую.
Попробуй выделить весь текст (Ctrl+A),скопируй его и перенеси в какой-нить простенький редактор,не поддерживающий никакого форматирования.Битый некомпилирующийся файл закрой и переименуй,но не удаляй.Вдруг он еще понадобится.Открой новый файл под тем же именем,что был только что переименованый
и перенеси в него код из сохраненного файла простенького текстового редактора.А теперь попробуй компилировать снова.У меня бывало получалось.Малость заморочливо,кто-нить может подскажет что проще.Но морока того стоит,если код большой и переписывать все заново ой как нудно...
Кроме того советую тебе взять за моду хороший программистсткий прием.Когда ты редактируешь программу,в конце работы назови ее как-нить понятливо,например Prog1601_1520,что означает: версия кода по состоянию на 16 января 15 часов 20 минут.Повторно приступая к работе,скопируй всю папку и продолжай работу с копией.Если ты че-нить запартачишь,у тебя всегда будет подстраховкой сохраненная предыдушая версия.И никогда не продолжай редакционной работы с работающей версией.всегда работай с копией.Поверь,боль потери всегда будет меньше.Удачи!