|
Вопрос # 4 141/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
У меня такой вопрос к вам!
У меня есть код, для открытия файла в StringGrid:
Но, мне надо дописать его для стобца j! Я пробовала, но он открывает все числа в i-ом стобце!Помогите пожалуйста!
Приложение: Переключить в обычный режим- procedure TForm1.N2Click(Sender: TObject);
- var
- i: integer;
-
-
- begin
- If OpenDialog1.Execute then
- begin
- fname:=OpenDialog1.FileName;
-
-
- i:=0;
- While not Eof(InFile) do
- Begin
- Readln(InFile,InString);
- a[i]:= StrToInt(InString);
- stringGrid1.Cells[0,i]:=IntToStr(a[i]);
- i:=i+1;
- end;
 |
Вопрос задала: Alinka27 (статус: Посетитель)
Вопрос отправлен: 11 мая 2010, 20:17
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Написал я тебе пример - загрузка текстового файла в TStringGrid, разделители - пробелы, количество строк и столбцов - любое. Учись, студентка. Прога в прицепе.
Впредь учись правильно формулировать вопросы и не заниматься тупым копипастингом чужого кода в свои проекты. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 11 мая 2010, 22:07
Оценка за ответ: 5
Комментарий к оценке: Спасибо вам огромное!!!
|
Мини-форум вопроса
Всего сообщений: 21; последнее сообщение — 13 мая 2010, 19:20; участников в обсуждении: 2.
Страницы: [1] [2] [Следующая »]
|
min@y™ (статус: Доктор наук), 11 мая 2010, 20:34 [#1]:
Индусский код детектед!
a[i]:= StrToInt(InString);
stringGrid1.Cells[0,i]:=IntToStr(a[i]);
Ненавижу вопросы, где автор пишет то, чего не понимает, но зато просит найти в ЭТОМ ошибку.
Вопрос номер РАЗ: что есть за массив "a"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 11 мая 2010, 20:36 [#2]:
Ну не зря же я вам пишу, значит не понимаю!Прошу у вас о помощи!Понимала бы, написала!
|
|
min@y™ (статус: Доктор наук), 11 мая 2010, 20:44 [#3]:
Цитата (Alinka27):
Ну не зря же я вам пишу, значит не понимаю!Прошу у вас о помощи!Понимала бы, написала!
Я опытный программист с большим стажем. Но мне КАЖДЫЙ РАЗ приходится вбивать в мозги задающих вопросы: ПРАВИЛЬНО ФОРМУЛИРУЙ ВОПРОС, иначе будет опубликовано немеряно флуда и уйдёт ОЧЕНЬ много времени на решение вопроса.
А вопрос твой надо было ставить так: "Как загрузить в TStringGrid (столбцов X, строк Y) вот этот текстовый файл (ссылка на файл)".
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 11 мая 2010, 20:48 [#4]:
Я в вашем сайте первый день, извините, что не правильно сформулировала свой вопрос! Я не опытный программист! Только учусь, мне это надо для курсовой!
|
|
min@y™ (статус: Доктор наук), 11 мая 2010, 20:54 [#5]:
Цитата (Alinka27):
Я в вашем сайте первый день, извините, что не правильно сформулировала свой вопрос! Я не опытный программист! Только учусь, мне это надо для курсовой!
А ты знаешь ещё какие-нибудь знаки препинания, оканчивающие предложения, кроме "!"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 11 мая 2010, 21:05 [#6]:
Хоть вы и ОПЫТНЫЙ программист, вы не имеете ни какого права так мне писать, не хотите отвечать, удалите мой вопрос, я только студентка, до вас мне расти и расти.Спорить я с вами не хочу...Спасибо за такой развернутый ответ.
|
|
min@y™ (статус: Доктор наук), 11 мая 2010, 21:11 [#7]:
Цитата (Alinka27):
Хоть вы и ОПЫТНЫЙ программист, вы не имеете ни какого права так мне писать
Это почему же?
Цитата (Alinka27):
не хотите отвечать, удалите мой вопрос
У меня нет таких полномочий.
Цитата (Alinka27):
Спорить я с вами не хочу...Спасибо за такой развернутый ответ.
А я ответа и не давал, т.к. нет чётко сформулированного вопроса. Телепатов на этом сайте, как, впрочем, и на других, нету. Задай правльно вопрос - сразу получишь правильный ответ.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 11 мая 2010, 21:30 [#9]:
А что делать, если количество строк и/или столбцов в этом файле не будет соответствовать размерам StringGrid?
Этот файл постоянный или меняется?
Разделители в файле только пробелы?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 11 мая 2010, 22:08 [#10]:
Заметь: кроме меня в этот вопрос никто не полез.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 12 мая 2010, 10:10 [#11]:
Этот файл меняется, разделители только пробелы, строк может быть от 1 до 15, а стобцов только 2.
|
|
min@y™ (статус: Доктор наук), 12 мая 2010, 10:20 [#12]:
Цитата (Alinka27):
Этот файл меняется, разделители только пробелы, строк может быть от 1 до 15, а стобцов только 2.
Ну вот и погоняй мой пример по разным файлам. Я его особо не отлаживал, но работать, вроде, должно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 12 мая 2010, 10:29 [#13]:
Да, он работает.
|
|
Alinka27 (статус: Посетитель), 13 мая 2010, 16:06 [#14]:
Здраствуйте!!! несколько дней тому назад вы мне дали код для загрузки текстового файла в StringGrid: http:https://www.delphi-int.ru/code/6ffe9b59. Всё нормально работает, но он не открывает нулевую строку.Я пробовала изменить ограничения, но результат такой же. Не подскажите где ошибка?
|
|
min@y™ (статус: Доктор наук), 13 мая 2010, 17:35 [#15]:
Цитата (Alinka27):
но он не открывает нулевую строку
А что такое "нулева строка"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 13 мая 2010, 18:05 [#16]:
StringGrid мой выглядит так http://files.mail.ru/4U1UP0?t=1, а мне надо открыть текстовый файл такого вида:http://files.mail.ru/PSXO0K
Если пользоваться вашим кодом, то первая строка текстового файла откроется вместо Хфактор и Урезульт
|
|
min@y™ (статус: Доктор наук), 13 мая 2010, 18:49 [#17]:
Конечно. Этого в задании не было, я и сделал, как понял.
Напоминает анекдот.
Поймал мужик золотую рыбку. Загадал желание: "хочу член до земли". Рыбка отрубила ему ноги.
Мораль: правильно формулируй задание.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 13 мая 2010, 18:56 [#18]:
Никогда не правь чужой код, если не понимаешь, как он работает и что он делает.
procedure TMainForm.LoadGridFromFile(const FileName: string;
AGrid: TStringGrid);
var
Text, Words: TStringList;
ARow: Integer;
begin
// Загрузка текстового файла в TStringGrid.
// Разделители - пробелы.
// Пустые строки игнорируются
Text:= TStringList.Create();
Words:= TStringList.Create();
try
// Загрузка в память списка
try
Text.LoadFromFile(FileName);
// Удаление пустых строк из списка
for ARow:= Text.Count - 1 downto 0 do
if Trim(Text[ARow]) = ''
then Text.Delete(ARow);
except
Text.Clear();
Application.MessageBox(PChar('Не могу загрузить файл "' + FileName + '".'),
PChar('Ошибка'),
MB_OK + MB_ICONERROR);
end;
if Text.Count = 0
then Exit;
// Формирование таблицы
AGrid.RowCount:= Text.Count + 1; // Кол-во строк
//AGrid.ColCount:= 1; // По умолчанию
// Разбиение на столбцы
for ARow:= 0 to Text.Count - 1 do
begin
SeparateWords(Text[ARow], Words);
// Установка кол-ва столбцов по количеству найденных слов в текущей строке
if Words.Count > AGrid.ColCount
then AGrid.ColCount:= Words.Count;
// Распределение слов строки файла по ячейкам строки таблицы
AGrid.Rows[ARow + 1].Assign(Words);
end;
finally
Text.Free();
Words.Free();
end;
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Alinka27 (статус: Посетитель), 13 мая 2010, 19:04 [#19]:
Спасибо, огромное! Всё работает, вы меня спасли.
P.S. Буду учится формулировать вопросы=)
|
|
min@y™ (статус: Доктор наук), 13 мая 2010, 19:16 [#20]:
Цитата (Alinka27):
вы меня спасли
Где моё пиво?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|