![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Подскажите, как в Делфи сделать следующее.
Программа содержит два окна, в одном список названий, а в другом описание этих названий. Например, вы выбрали одно название в первом окне, а во втором сразу появилось описание этого названия. Например, список первого окна: машина, дом, самолет. И при выборе самолета во втором идет описание, что это и т.д. Пример чисто символический, подскажите как это можно организовать и с помощью каких компонентов и команд? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
![]()
Компоненты - ListBox и Memo. Держишь 2 строковых массива для названий и описаний.
Формы создаются через "Новое -> Форма". При старте нечто вроде Код:
Код:
alextrof94$gmail.com
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Я наверно, не правильно описал то что нужно.
Окно программы должно быть одно, а внутри два listbox. В одном список названий, а в другом описание этих названий. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Для описания по крайней мере Memo намного лучше ListBox. А все действия по обновлению Memo делать в ListBox.OnClick если это о чем-то говорит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Подскажите подробней пожалуйста.
Как написать такой код? При выборе строки в listbox1, в listbox2 или memo появляется описание этой строки. |
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
![]() Цитата:
короче вот код: Код:
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. ![]() |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Спасибо за помощь, примерно это мне и нужно. Только мне нужно, чтобы описание хранилось в exe файле, а не в отдельном, а тут запрашивает файл из строки.
Я с массивами не работал и с ресурсами тоже, для меня это немного не понятно. Если не сложно подскажите, как сделать так, чтобы описание хранилось в exe файле при компиляции? |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Вот файл ini из такой программы, подскажите что есть что в нем?
------------------------------------------------- [Main] Count = 4 Country1 = "Китай" Country2 = "Монголия" Country3 = "Россия" Country4 = "США" [Китай] Count = 1 Description1 = "вот погодите немного, сами все увидите" [Монголия] Count = 2 Description1 = "а вот было время..." Description2 = "у-у-у" [Россия] Count = 1 Description1 = "эта страна" [США] Count = 1 Description1 = "пиндосы" ---------------------------------------------------- Что значит Count = 4, Count = 1 и Description1 и 2? |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
![]()
Подскажите, как этот код изменить так, чтобы на одной форме было два listbox с разным содержанием и описанием в memo?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IniFiles; type TForm1 = class(TForm) ListBox1: TListBox; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var ini: TIniFile; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i, c: Integer; begin ini := TIniFile.Create (ExtractFilePath (Application.ExeName) + 'страны.ini'); c := ini.ReadInteger ('Main', 'Count', 0); ListBox1.Items.Clear; for i := 1 to c do ListBox1.Items.Add (ini.ReadString ('Main', 'Country'+IntToStr(i), '')); end; procedure TForm1.ListBox1Click(Sender: TObject); var i, c: Integer; s: String; begin if ListBox1.ItemIndex > -1 then begin s := ListBox1.Items[ListBox1.ItemIndex]; c := ini.ReadInteger (s, 'Count', 0); Memo1.Lines.Clear; for i := 1 to c do Memo1.Lines.Add (ini.ReadString (s, 'Description'+IntToStr(i), '')); end; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil (ini); end; end. Вот файл ini от этого кода: [Main] Count = 4 Country1 = "Китай" Country2 = "Монголия" Country3 = "Россия" Country4 = "США" [Китай] Count = 1 Description1 = "вот погодите немного, сами все увидите" [Монголия] Count = 2 Description1 = "а вот было время..." Description2 = "у-у-у" [Россия] Count = 1 Description1 = "эта страна" [США] Count = 1 Description1 = "пиндосы" Мне нужно два listbox на разных вкладках PageControl одной формы, как это правильно сделать? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать на странице два фона? | CheCoder | HTML и CSS | 6 | 02.09.2012 22:14 |
Паскаль.Описание лабораторной работы. Помиогите сделать описание проги .какая формула что делает. | Elimay25 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 01.03.2012 16:34 |
Проблема в html шаблоне, как сделать так?(описание внутри) | Melekhin | HTML и CSS | 6 | 22.02.2012 18:29 |
Как грамотно сделать описание к проге? | chandrasecar | Общие вопросы Delphi | 1 | 20.11.2008 22:23 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |