Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2017, 15:20   #11
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Одного не пойму: при чём тут StringGrid?
Я же скрин приложил. В КомбоБоксе выбирается оружие, а его не мало(штук 50 пушек). У каждого оружия свои характеристики, и мне нужно чтобы при выборе определенного оружия показывались его характеристики в таблице. При выборе другого - иные хар-ки в тех же ячейках таблицы. Но не знаю как это реализовать. В Интернете особо не объясняют это.. там все используют OpenDialog, а мне надо сразу, при запуске программы. Или может есть лучше способ выводить характеристики? Кучу лэйблов делать - лень. Мемо - некрасиво выглядит.
Vyacheslav. вне форума Ответить с цитированием
Старый 29.11.2017, 15:27   #12
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Vyacheslav. Посмотреть сообщение
У каждого оружия свои характеристики
Сори, это я попутал со StringList.

Но если уж на то пошло - есть варианты и посимпатичнее, чем стринггрид. Например, TValueListEditor. В нём хоть не нужно контроль поячеечно расписывать, передаёшь в строку значение 'Name=пистолет' и видишь на экране готовую таблицу со строчкой:
Изображения
Тип файла: png Снимок.PNG (18.7 Кб, 91 просмотров)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 29.11.2017 в 15:33.
Sciv вне форума Ответить с цитированием
Старый 29.11.2017, 15:31   #13
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
А можете примеры привести? В интернете особо не нашел.
Цитата:
При выборе другого - иные хар-ки в тех же ячейках таблицы.
Код:
<?xml ....

<list>
<type name="винтовка">
<property name="урон">40</prоperty>
...
</type>
...

</list>
читать, разбирать(можно с привлечением библиотек) и выводить так как нравится.
если захотеть можно закодировать и КАК отображать.

способ хранения редко совпадает со способом отображения.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 29.11.2017 в 15:44.
evg_m вне форума Ответить с цитированием
Старый 29.11.2017, 21:37   #14
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
<?xml ....

<list>
<type name="винтовка">
<property name="урон">40</prоperty>
...
</type>
...

</list>
Это точно Делфи)?
Vyacheslav. вне форума Ответить с цитированием
Старый 29.11.2017, 21:57   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

XML это.

Дельфи это не формат хранения данных. (не, ну можно конечно придумать всякие извращения типа парсинга/интерпретации кода на Дельфи, но зачем?)

Может вы уже таки начнете гуглить те непонятные слова, что предложили в этой теме (http://www.programmersforum.ru/showt...61#post1710758), вместо ожидания пока за вас кто-то решит вашу задачу или запилит для вас персональный туториал по работе с файлами/БД?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.11.2017, 23:07   #16
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

В Интернете особо не объясняют это.. там все используют OpenDialog, а мне надо сразу, при запуске программы.
Vyacheslav. вне форума Ответить с цитированием
Старый 29.11.2017, 23:13   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так не используйте его. Результатом его работы является просто строка с путем типа 'C:\......\myfile.txt'.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.11.2017, 23:18   #18
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Так а как без него из файла данные загружать? Можно без файла вообще? Вот так как-то..
Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ComCtrls, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    TabControl1: TTabControl;
    ComboBox1: TComboBox;
    Image1: TImage;
    Button1: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TabControl1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
const kraina:array[1..7,1..7] of string=
(('Україна' , 'Київ', 'Гривня', '603.7', '49.1', '30', 'D:\Europe\Ukraine.bmp'),
('США','Вашингтон', 'Долар', '9663.2', '237.8', '50', 'D:\Europe\USA.bmp'),
('Франція', 'Париж', 'Євро','551.6','53.1', '40','D:\Europe\France.bmp') ,
('Росія','Москва','Рубль','17075.4','163.7', '35','D:\Europe\Russia.bmp'),
('Англія','Лондон','Фунт','244.1','55.9', '30','D:\Europe\United-Kingdom.bmp'),
('Китай','Пекін','Юань','9597','1488.5', '45','D:\Europe\China.bmp'),
('Китай','Пекін','Юань','9597','1488.5', '45','D:\Europe\China.bmp')) ;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Название';
StringGrid1.Cells[0,1]:='Тип';
StringGrid1.Cells[0,2]:='Урон';
StringGrid1.Cells[0,3]:='Скорострельность';
StringGrid1.Cells[0,4]:='Магазин';
StringGrid1.Cells[0,5]:='Магазин';
StringGrid1.Cells[0,6]:='Магазин';
StringGrid1.Cells[0,7]:='Магазин';
StringGrid1.Cells[0,8]:='Магазин';
TabControl1Change(Sender);
end;
 
procedure TForm1.TabControl1Change(Sender: TObject);
begin
If ComboBox1.ItemIndex=0 then StringGrid1.Cells[1,0];
If ComboBox1.ItemIndex=1 then StringGrid1.Cells[1,1];
StringGrid1.Cells[1,1]:=kraina[TabControl1.TabIndex+1,3];
StringGrid1.Cells[1,2]:=kraina[TabControl1.TabIndex+1,4];
StringGrid1.Cells[1,3]:=kraina[TabControl1.TabIndex+1,5];
StringGrid1.Cells[1,4]:=kraina[TabControl1.TabIndex+1,6];
Image1.Picture.LoadFromFile(kraina[TabControl1.TabIndex+1,7]);
 procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 If ComboBox1.ItemIndex=0 then StringGrid1.Cells[1,0]:=kraina[1,2];
If ComboBox1.ItemIndex=1 then StringGrid1.Cells[1,1]:=kraina[1,3];
If ComboBox1.ItemIndex=2 then StringGrid1.Cells[1,3]:=kraina[1,4];
end;
 
 
end;
 
end.
Ну это пример, но не понятно как сделать чтобы при выборе чего-то в комбо боксе сразу все строчки меняли, а не дна.
Vyacheslav. вне форума Ответить с цитированием
Старый 29.11.2017, 23:24   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Vyacheslav. Посмотреть сообщение
Так а как без него из файла данные загружать?
Так создайте свою какую угодно строку с путем. Вы не умеете работать со строками?
Код:
var
  name, str: string;
begin
  name := 'Vasya';
  str := 'Hello ' + name;
end;
Обычно используют папку программы или системные папки пользователя типа AppData.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.11.2017, 00:33   #20
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

И как занести это в ячейку?
Код:
ValueListEditor1.Strings.Add(name);
Vyacheslav. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логин и Пароль, где хранить? spirit-ua PHP 2 14.07.2015 09:03
Как и где хранить Ruslasy PHP 1 16.09.2014 10:57
где хранить данные SQL какие заполняются людьми ? paver C# (си шарп) 1 23.08.2014 02:13
где хранить данные принято? yuran111 Общие вопросы Delphi 36 12.05.2011 00:23
где хранить рессурсы (Delphi) BanDit Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 25.01.2008 00:50