|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.08.2014, 12:36 | #1 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
Как сделать два окна, название и описание?
Подскажите, как в Делфи сделать следующее.
Программа содержит два окна, в одном список названий, а в другом описание этих названий. Например, вы выбрали одно название в первом окне, а во втором сразу появилось описание этого названия. Например, список первого окна: машина, дом, самолет. И при выборе самолета во втором идет описание, что это и т.д. Пример чисто символический, подскажите как это можно организовать и с помощью каких компонентов и команд? |
17.08.2014, 13:59 | #2 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Компоненты - ListBox и Memo. Держишь 2 строковых массива для названий и описаний.
Формы создаются через "Новое -> Форма". При старте нечто вроде Код:
Код:
alextrof94$gmail.com
|
17.08.2014, 19:11 | #3 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
Я наверно, не правильно описал то что нужно.
Окно программы должно быть одно, а внутри два listbox. В одном список названий, а в другом описание этих названий. |
17.08.2014, 19:20 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для описания по крайней мере Memo намного лучше ListBox. А все действия по обновлению Memo делать в ListBox.OnClick если это о чем-то говорит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
18.08.2014, 00:13 | #5 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
Подскажите подробней пожалуйста.
Как написать такой код? При выборе строки в listbox1, в listbox2 или memo появляется описание этой строки. |
18.08.2014, 11:18 | #6 | |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Цитата:
короче вот код: Код:
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. |
|
20.08.2014, 19:23 | #7 |
Пользователь
Регистрация: 09.07.2014
Сообщений: 12
|
Спасибо за помощь, примерно это мне и нужно. Только мне нужно, чтобы описание хранилось в exe файле, а не в отдельном, а тут запрашивает файл из строки.
Я с массивами не работал и с ресурсами тоже, для меня это немного не понятно. Если не сложно подскажите, как сделать так, чтобы описание хранилось в exe файле при компиляции? |
23.08.2014, 06:43 | #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? |
23.08.2014, 20:41 | #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 |