Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63

Работа с внешними файлами

02.03.2012, 17:08. Показов 4097. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня не выходит заполнить с файла таблицу( на рисунках там второй пункт). Вводит только одну строку остальные, заполнены вертикальной полоской... Помогите А то препод все нервы на мне вымотал
Миниатюры
Работа с внешними файлами   Работа с внешними файлами   Работа с внешними файлами  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2012, 17:08
Ответы с готовыми решениями:

работа с внешними файлами
Нужна программа Разработайте программу записи во внешний файл нескольких случайных целых чисел. Разработайте другую программу,...

Работа с внешними файлами, ввод/вывод в текстовый файл
Как сделать эту лабу... Помогите пожалуйста

Тема: Работа с внешними файлами. Ввод, вывод данных в текстовый файл
Файл прикреплен к сообщению, нужно написать программу: данные из текстового файла необходимо с использованием процедуры onActivate считать...

31
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 19:22  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DenNik Посмотреть сообщение

Не по теме:

оно мне надо?




проверь наличие файла fData.txt
Вот есть!
Миниатюры
Работа с внешними файлами   Работа с внешними файлами  
0
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 19:50  [ТС]
с таким кодом выходит такое !
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  head:array[1..100] of string;
  s:array[1..100,1..100] of string;
  i,j:integer;
  fHead,fData:textfile;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  AssignFile(fHead,'E:\home\fHead.txt');
  Reset(fHead);
  for i:=0 to 100 do
    begin
        Readln(fHead, Head[i]);
        StringGrid1.Cells[i,0]:=Head[i];
        StringGrid2.Cells[i,0]:=Head[i];
    end;
  Closefile(fHead);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  AssignFile(fData,'E:\home\fData.txt');
  Reset(fData);
  For i:=1 to 100 do
  For j:=0 to 100 do
    begin
        Readln(fData,s[j,i]);
        StringGrid1.Cells[j,i]:=s[j,i];
    end;
  Closefile(fData);
end;
end.
Миниатюры
Работа с внешними файлами  
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
02.03.2012, 19:56
у тебя вообще с такими массивами получилась бы матрица 100*100, 100 в ширину и в 100 высоту, в ширину ты считываешь только 1 значение, а не 100, поэтому оно и выводит закорючки, потому что там сидят в массиве неизвестные значения, вот он их и не может проверить, массив то в тех местах не заполнен
0
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 19:57  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
у тебя вообще с такими массивами получилась бы матрица 100*100, 100 в ширину и в 100 высоту, в ширину ты считываешь только 1 значение, а не 100, поэтому оно и выводит закорючки, потому что там сидят в массиве неизвестные значения, вот он их и не может проверить, массив то в тех местах не заполнен
а какие тогда вписать?

при смене там больше вводит, блин я уже запутался что у меня йод? что у меня и ??
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
02.03.2012, 19:58
скажи, чем тебе не нравится решение, которое выложено выше?
0
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 20:00  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
скажи, чем тебе не нравится решение, которое выложено выше?
так в нем писало ошибку, ту что с записью!
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
02.03.2012, 20:00
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  s: string;
begin
 AssignFile(fData,'E:\home\fData.txt');
 Reset(fData);
 i:= 0;
 while not Eof(fData) do
 begin
   inc(i); // строка
   for j:= 0 to 6 do // столбцы 
   begin
     Readln(fData,s);
     StringGrid1.Cells[j,i]:= s;
   end;
 end;
 Closefile(fData);
end;
1
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 20:03  [ТС]
Цитата Сообщение от DenNik Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  s: string;
begin
 AssignFile(fData,'E:\home\fData.txt');
 Reset(fData);
 i:= 0;
 while not Eof(fData) do
 begin
   inc(i); // строка
   for j:= 0 to 6 do // столбцы 
   begin
     Readln(fData,s);
     StringGrid1.Cells[j,i]:= s;
   end;
 end;
 Closefile(fData);
end;
ну заработало

Добавлено через 1 минуту
Осталось теперь сохранение второй вкладки, в которую мы сами вводим данный написать)) Буду пробывать

Отчего отталкиваться в процедуре для сохранения? Там по-ячеечно читать и записывать?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
02.03.2012, 20:07
смотри, у тебя структура бок состоит из 7 значений, т.е. что является 1, 8, 15 строкой это все номера, что 2, 9, 16 это фамилии
ты же делаешь
ты считываешь в массив 100 символов с каждой строки, а нужно считать 1 строку полностью, и перейти на 2, затем на 3 и так далее, но нужно еще и разбить эти строки, друг от друга отделить, на подобные значения, чтобы получить таблицу, в каждой строке у тебя по 1 значению, значит читай строку от начала до конца, затем каждую 7 записывай на свое место, каждую 8 так же на свое место, так как ты мудришь - не получится
0
 Аватар для Khan
10 / 10 / 7
Регистрация: 14.03.2011
Сообщений: 340
Записей в блоге: 1
02.03.2012, 20:07
OverloaD, можите выложить полный рабочий код?
0
 Аватар для OverloaD
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 63
02.03.2012, 20:09  [ТС]
Цитата Сообщение от Khan Посмотреть сообщение
OverloaD, можите выложить полный рабочий код?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, ComCtrls;
 
type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  head:array[1..100] of string;
  s:string;
  i,j:integer;
  fHead,fData,fSave:textfile;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  AssignFile(fHead,'E:\home\fHead.txt');
  Reset(fHead);
  for i:=0 to 100 do
    begin
        Readln(fHead, Head[i]);
        StringGrid1.Cells[i,0]:=Head[i];
        StringGrid2.Cells[i,0]:=Head[i];
    end;
  Closefile(fHead);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  AssignFile(fData,'E:\home\fData.txt');
  Reset(fData);
  i:= 0;
  while not Eof(fData) do
 begin
   inc(i);
   for j:= 0 to 6 do
   begin
     Readln(fData,s);
     StringGrid1.Cells[j,i]:=s;
   end;
 end;
  Closefile(fData);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
   AssignFile(fData,'E:\home\fSave.txt');
   Rewrite(fSave);
end;
 
end.
БАттон2 сохранение будет второй вкладки!

Отчего отталкиваться в процедуре для сохранения? Там по-ячеечно читать и записывать?
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
02.03.2012, 20:28
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button2Click(Sender: TObject);
var
  i,j: integer;
  s: string;
begin
  // открыть файл
  for i:= 1 to StringGrid1.RowCount-1 do
  for j:= 0 to StringGrid1.ColCount-1 do
  begin
    s:= StringGrid1.Cells[j,i];
    // записать в файл
  end;
  // закрыть файл
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2012, 20:28

управление внешними файлами
Задача: дан файл .html. Необходимо открывать этот файл в нескольких браузерах, и в текстовом редакторе. Как реализовать выбор открывающего...

Работа с внешними устройствами
Здравствуйте. Подскажите, пожалуйста, самый легкий на ваш взгляд пример, иллюстрирующий работу программы с данными (в основном это будет НЧ...

Работа с внешними устройствами в Delphi
Помогите решить проблему:Раньше стояла XP а теперь 7,в ХР был удобный мастер работы со сканером или камерой,а в 7 его нет,как реализовать...

Delphi 2009 - работа с внешними приложениями
Не подскажите как мне в Delphi описать функцию блокировки кнопки "закрыть" в нужной мне программе или присвоить ей функцию...

Работа с внешними приложениями PDF, DOC, RTF...
Скажите, можно ли из программы, написанной в Delphi, обращаться к внешним документам в форматах PDF, DOC, RTF? Брать оттуда текст, рисунки,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru