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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2014, 22:00   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
type
TLBRecord = class(TObject)
private
fURL:string;
public
property url:string read fURL;
constructor Create(url:string); overload;
destructor Destroy; override;
end;
Я описал класс, но не описывал его реализацию.
в конструкторе вызываете конструктор предка.
Там же переменной fURL присваиваете url
все.
Ну и деструктор тоже описываете.
Человек_Борща вне форума Ответить с цитированием
Старый 26.01.2014, 10:53   #12
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Вот как я сделал но не знаю как правильно написать что бы он читал из файла, но и не уверен что он правильно сохраняет. Посмотрите может что посоветуете или исправите.
Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, sButton, sListBox, sEdit, ShellApi;

type
  TForm4 = class(TForm)
    sEdit1: TsEdit;
    sEdit2: TsEdit;
    sListBox1: TsListBox;
    sButton1: TsButton;
    procedure sButton1Click(Sender: TObject);
    procedure sListBox1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
  List: TStringList;
  s1, s2: String;
  i: integer;

implementation

{$R *.dfm}

procedure TForm4.FormShow(Sender: TObject); //Чтение
begin
 List:=TStringList.Create;  //Создаем поток
 List.LoadFromFile('C:\test.qwerty');   //Читаем файл
 begin                      //Читает все строки
  for i := 0 to List.Count - 1 do
    sListBox1.Items.Add(list.Strings[i]);
end;
end;

procedure TForm4.sButton1Click(Sender: TObject); //Запись
begin
  List:= TStringList.Create;  // Создаем поток
  S1:=sedit1.Text; //Название
  S2:=sedit2.Text; //Ссылка
  sListBox1.Items.Add(S1); //Добавляем название в ListBox
  List.Add(S1);     //   Добавляем название в StringList
  List.Add(S2);     //   Добавляем ссылку в StringList
  List.SaveToFile('C:\test.qwerty'); //Сохраняем все в файл
  List.Free;           //Закрываем
end;

procedure TForm4.sListBox1DblClick(Sender: TObject);
begin
 ShellExecute(0, 'open', PWideChar(sListBox1.Items.Strings[sListBox1.ItemIndex]), nil, nil, SW_SHOW) ;
end;

end.
nefakt вне форума Ответить с цитированием
Старый 26.01.2014, 10:57   #13
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

код надо выбросить, а лучше сжечь
eval вне форума Ответить с цитированием
Старый 26.01.2014, 11:08   #14
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

:D а что там не так? просто я говорил лучше пример и с edit`ами а дальше я бы сам разобрался как нибудь.
nefakt вне форума Ответить с цитированием
Старый 26.01.2014, 11:14   #15
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а все не так, логика хромает на обе ноги, качесто кода = 0..
надо не тупо по клаве жмякать, а думать прежде и читать, и книги и то что пишут тут, иначе смысла вам писать тут нету
eval вне форума Ответить с цитированием
Старый 26.01.2014, 13:58   #16
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

я в общем решил проблему поставил два ListBox`a в один название в другой ссылку , сделал функцию что бы при выборе одного ListBox`a во втором это же строка выделялась и при клике в первом ListBox`e(то есть по названию) ссылка открывается из второго таким методом
Код:
procedure TForm4.sListBox2DblClick(Sender: TObject);
begin
ShellExecute(0, 'open', PWideChar(sListBox4.Items.Strings[sListBox4.ItemIndex]), nil, nil, SW_SHOW);
end;
nefakt вне форума Ответить с цитированием
Старый 26.01.2014, 13:59   #17
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Всем спасибо за помощь.
nefakt вне форума Ответить с цитированием
Старый 26.01.2014, 14:05   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И что, второй листбокс нужен пользователю? Ай да решил проблему Программист не может заменить листбокс стринглистом - на форму его
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.01.2014, 14:20   #19
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

второй ListBox не виден пользователю вписывают через edit название в ListBox который виден и ссылку в тот который не виден. И для новичка это вполне нормально. Как разберусь со StringList`ом как его использовать правильно, так и переделаю на него.
Вот как видит пользователь программу.

Последний раз редактировалось nefakt; 26.01.2014 в 14:27.
nefakt вне форума Ответить с цитированием
Старый 26.01.2014, 14:24   #20
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ListBox и StringList различаються только в том что первый визуальный второй нет, а так вы вместо одного 2 влепили, привет пользователям, которые будут выбрасывать вашу прогу в корзину.
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ввод нескольких значений AcTiV Общие вопросы C/C++ 3 26.12.2012 22:22
Запрет на ввод пустых значений Ericnex БД в Delphi 6 31.08.2012 10:01
Проверка на ввод значений в StringGrid iKarma C++ Builder 0 24.12.2011 12:38
Ввод значений формы в базу. NickiBell Microsoft Office Access 6 29.10.2010 16:50
Удаление и ввод значений в ячейках segail Microsoft Office Excel 0 16.12.2009 09:45