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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2017, 07:48   #21
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
valuelisteditor1.strings.add('магазин=5 патронов');
valuelisteditor1.strings.add('дальность =1000 м');
...
type (valuelisteditors1.strings) ==TStrings <== TStringList http://www.delphibasics.ru/TStringList.php
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 30.11.2017 в 08:10.
evg_m вне форума Ответить с цитированием
Старый 09.12.2017, 23:06   #22
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

А никто не подскажет как мне код сократить? А то много if then
Код:
procedure TForm4.ComboBox1Change(Sender: TObject);
begin
If ComboBox1.ItemIndex=0 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\SG552.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\SG552.jpg');
end;
If ComboBox1.ItemIndex=1 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\G36C.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\G36C.bmp');
end;
If ComboBox1.ItemIndex=2 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\M4.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\M4.jpg');
end;
If ComboBox1.ItemIndex=3 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\Êëàññèêà.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\Êëàññèêà.jpg');
end;
If ComboBox1.ItemIndex=4 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\Àâòîìàò ìîä..txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\Àâòîìàò ìîä..jpg');
end;
If ComboBox1.ItemIndex=5 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\AUG A3.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\AUG A3.jpg');
end;
If ComboBox1.ItemIndex=6 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\TAR-21.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\TAR-21.jpg');
end;
If ComboBox1.ItemIndex=7 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\AH-94.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\AH-94.bmp');
end;
If ComboBox1.ItemIndex=8 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\F2000.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\F2000.jpg');
end;
If ComboBox1.ItemIndex=9 then
begin
ValueListEditor1.Strings.LoadFromFile('Images\Arsenal\Automatic\M16.txt');
Image1.Picture.LoadFromFile('Images\Arsenal\Automatic\M16.jpg');
end;
end;

procedure TForm4.ComboBox2Change(Sender: TObject);
begin
If ComboBox2.ItemIndex=0 then
begin
ValueListEditor2.Strings.LoadFromFile('Images\Arsenal\Automatic\SG552.txt');
Image2.Picture.LoadFromFile('Images\Arsenal\Automatic\SG552.jpg');
end;
If ComboBox2.ItemIndex=1 then
begin
ValueListEditor2.Strings.LoadFromFile('Images\Arsenal\Automatic\G36C.txt');
Image2.Picture.LoadFromFile('Images\Arsenal\Automatic\G36C.bmp');
end;
end;

end.
Vyacheslav. вне форума Ответить с цитированием
Старый 09.12.2017, 23:12   #23
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Имена файлов в массив и выбор по индексу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2017, 23:19   #24
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Типо
Код:
Arsenal: array[1..5] of String[10]=('Калаш.txt','М4.txt','Петух.txt','Классика.txt','Тавор.txt');
Arsenal[1]:=ComboBox1.ItemIndex=0;
Arsenal[2]:=ComboBox1.ItemIndex=1;
Arsenal[3]:=ComboBox1.ItemIndex=2;
?
Vyacheslav. вне форума Ответить с цитированием
Старый 10.12.2017, 01:21   #25
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Vyacheslav. Посмотреть сообщение
Типо
Почти угадал:

Код:
Arsenal: array[1..5] of String[10]=('Калаш.txt','М4.txt','Петух.txt','Классика.txt','Тавор.txt');

for i := 1 to 5 do
  ComboBox1.Items[i - 1] := Arsenal[i];
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 10.12.2017, 02:05   #26
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Чет не работает...
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, ValEdit, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    ValueListEditor1: TValueListEditor;
    ComboBox1: TComboBox;
    Image1: TImage;
    ComboBox2: TComboBox;
    ValueListEditor2: TValueListEditor;
    Image2: TImage;
    Image3: TImage;
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
    i:integer;
   Arsenal: array[1..2] of String[10]=('One.txt','To.txt');

implementation

{$R *.dfm}




procedure TForm1.ComboBox1Change(Sender: TObject);
begin
for i := 1 to 2 do
  ComboBox1.Items[i - 1] := Arsenal[i];
end;


procedure TForm1.ComboBox2Change(Sender: TObject);
begin
If ComboBox2.ItemIndex=0 then
begin
ValueListEditor2.Strings.LoadFromFile('One.txt');
Image2.Picture.LoadFromFile('P90.jpg');
end;
If ComboBox2.ItemIndex=1 then
begin
ValueListEditor2.Strings.LoadFromFile('To.txt');
Image2.Picture.LoadFromFile('G36C.bmp');
end;
end;

end.
Vyacheslav. вне форума Ответить с цитированием
Старый 10.12.2017, 02:14   #27
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Массив выводит чисто название txt файла в комбо бокс, а не читает его...
Vyacheslav. вне форума Ответить с цитированием
Старый 10.12.2017, 02:44   #28
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Подсказали уже гениальный способ.
Код:
procedure TForm4.ComboBox2Change(Sender: TObject);
var
Fn:String;
Ext:String;
Ext2:string;
begin
Case ComboBox2.ItemIndex of
 0:  begin Fn:='SG552';Ext:='txt';Ext2:='jpg'; end;
 1:  begin Fn:='G36C';Ext:='txt';Ext2:='bmp'; end;
end;
ValueListEditor2.Strings.LoadFromFile('Images\Arsenal\Automatic\'+Fn+'.'+Ext);
Image2.Picture.LoadFromFile('Images\Arsenal\Automatic\'+Fn+'.'+Ext2);
end;
Vyacheslav. вне форума Ответить с цитированием
Старый 10.12.2017, 08:57   #29
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

а из массива можно без кейса
Код:
Fn:=MyArray[ComboBox2.ItemIndex];
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.12.2017, 13:29   #30
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Массивы слишком сложная, непонятная штука, особенно двумерные.
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