Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
Daria_m
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 44
1

Можно ли в StringGrid после создания типизированного файла выделить элемент списка и заменить его или удалить?

09.07.2015, 15:05. Просмотров 429. Ответов 4
Метки нет (Все метки)

Скажите пожалуйста,можно в stringgrid после создания типизированного файла выделить элемент списка и заменить его или удалить? Если да,то как это сделать в этой проге? Если нет,то эту прогу помогите переделать с помощью TList.(нужны кнопки "создать", "заменить" выбранный элемент, "добавить", "удалить" выбранный элемент )

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, Menus, StdCtrls;
 
type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    MainMenu1: TMainMenu;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N1: TMenuItem;
    N3: TMenuItem;
    StringGrid1: TStringGrid;
    Label2: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
 
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TForm2.Button1Click(Sender: TObject);//добавить
var
n,i: integer;
begin
  if (Edit1.Text='') then ShowMessage('Нет данных')
  else begin
    AssignFile(f,s);
    chislo.znach:=StrToFloat(Edit1.Text);
    if not FileExists(s) then
    rewrite(f)
    else reset(f);
  n:=FileSize(f);
  if n=10 then ShowMessage('Вектор заполнен')
  else begin
  seek(f,n);
  write(f,chislo);
  CloseFile(f);
  reset(f);
  with StringGrid1 do begin
    i:=0;
    n:=FileSize(f);
    while not eof(f) do begin
    Cells[i,0]:=IntToStr(i+1);
    read(f, chislo);
    Cells[i,1]:=FloatToStr(chislo.znach);
    inc(i);
    end;
  end;
  end;
  CloseFile(f);
  end;
Edit1.Text:='';
Edit1.SetFocus;  
end;
 
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then begin
    ShowMessage('Введен недопустимы символ');
    Key:=#0;
  end;
end;
 
procedure TForm2.N1Click(Sender: TObject);  // Пункт меню "Открыть"
var
  i,n : integer;
begin
  AssignFile(f, s);
  if not FileExists(s) then ShowMessage ('Файл отсутствует')
    else begin
      reset(f);
      with StringGrid1 do begin
      i:=0;
      n:=FileSize(f);
      while not eof(f) do begin
        Cells[i,0]:=IntToStr(i+1);
        read(f, chislo);
        Cells[i,1]:=FloatToStr(chislo.znach);
        inc(i);
      end;
    end;
  CloseFile(f);
  end;
end;
 
 
procedure TForm2.N3Click(Sender: TObject);//Очистить
var
  i,j :byte;
begin
  with StringGrid1 do
    for i := 0 to ColCount - 1 do
    For j := 0 to RowCount - 1 do
      Cells[i, j]:='';
    Edit1.Text:=''
end;
 
end.
0
Вложения
Тип файла: rar delphi 4_3.rar (306.3 Кб, 2 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 15:05
Ответы с готовыми решениями:

Как удалить нужный элемент из списка или заменить этот элемент на другой?
Доброго времени суток, господа! Есть список: list<double> list1; Есть возможность добавить в...

После создания файла значения его компонент с четными номерами заменить нулями
добрый день очень срочно надо решить такую задачу, заранее огромное спасибо!! Создать файл,...

Удалить элемент из типизированного списка, так, чтобы индексы остальных не менялись
Удалить элемент из типизированного списка, так, чтобы индексы остальных не менялись. List<double>...

Нетипизированные файлы: После создания файла заменить значение последней компоненты файла на значение первой его компоненты
Создать файл, компоненты (количество <=7) которого являются целыми числами. После создания файла...

Как можно удалить или очистить тело макроса после его исполнения из самого себя?
Скажите пожалуйста! Как можно удалить или очистить тело макроса после его исполнения из самого себя?

4
Puporev
Модератор
58150 / 44234 / 30551
Регистрация: 18.05.2008
Сообщений: 105,913
09.07.2015, 15:27 2
Вот в файлах что в папке написано
Цель работы: Изучение действий над типизированными файлами.
Задание: В файле из 10 целых чисел поменять местами четные и нечетные элементы файла
Если это и есть задание то к чему весь этот огород?

Добавлено через 6 минут
Зачем модуль и это
Delphi
1
2
3
4
type
  celye = record
    znach: extended;
  end;
запись с одним полем это нонсенс, да и тип не целый.
0
Daria_m
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 44
09.07.2015, 15:33  [ТС] 3
Нужно просто за основу взять эту лабу. Сортировать ничего не надо. Нужно,чтобы мы могли вводить значения в стринггрид и после запуска могли выделять элемент и заменять его на другой. Если это нельзя сделать с помощью стринггрид, то выполнить ввод этого вектора с помощью TList,чтобы выделенный элемент списка можно было удалять,заменять, добавлять новые.
0
Puporev
Модератор
58150 / 44234 / 30551
Регистрация: 18.05.2008
Сообщений: 105,913
09.07.2015, 15:35 4
Цитата Сообщение от Daria_m Посмотреть сообщение
Если это нельзя сделать с помощью стринггрид,
А при чем тут стринггрид, если есть типизированный файл и все можно делать в нем?
0
Daria_m
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 44
09.07.2015, 15:38  [ТС] 5
После запуска проги на форме нужно выделить элемент и заменить его или удалить
0
09.07.2015, 15:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2015, 15:38

Удалить из типизированного файла число, записанное после первого нуля
Привет народ! Имеется типизированный файл с целыми числами. Удалить из него число, записанное после...

Можно ли в цикле сортировки списка для типизированного файла сделать исключение дублирования записей
Не получается доработать цикл в программе repeat write('фамилия'); readln(zb.name); ...

Запомнить выделенный элемент в ListBox и после обновления содержимого вновь его выделить
Воообщем... Когда в ListBox изменяются итемы, он прокручивается вверх до упора. Как бы это обойти?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.