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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2012, 03:44   #41
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

на вопрос не ответили.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.11.2012, 10:28   #42
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Не знаю. Не подскажите от куда лучше?
Вот типа такого как в платном редакторе типа такого сделать хочу.


Что то не понятно или я криворукий
хочу дописать 3 лист дописываю эти значения запускаю а лист не появляется все теже 2 и видны
Код:
TElList3Element=record
 id:integer;
 name: array [0..32] of WideChar;
 str1: array [0..128] of string;
 str2: array [0..128] of string;
 str3: string;
 str4: string;
 str5: string;
 str6: string;
 str7: string;
 str8: string;
 str9: string;
 int1: integer;
end;

TElList3=record
 offsetdata:array[0..3] of byte;
 data:array of TElList3Element;
end;

var
  Form1: TForm1;
  version,sign:word;
  List1:TElList1;
  List2:TElList2;
  List3:TElList3;
А все со страницами разобрался =)

Последний раз редактировалось Stilet; 03.11.2012 в 10:12.
nefakt вне форума Ответить с цитированием
Старый 01.11.2012, 18:15   #43
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Не знаю. Не подскажите от куда лучше?
проще распаковать pck файл и брать пути оттуда.
хотя есть сорцы для чтения pck, но они на С(чтоб самим работать с ними, а не через консольную утилиту)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2012, 05:13   #44
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Как я понял это что бы изменить нужно распаковать .pck и потом только можно будет менять так? Если да то как реализовать.
nefakt вне форума Ответить с цитированием
Старый 02.11.2012, 05:16   #45
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну утилиты по распаковке много где можно нарыть.
а далее банально по CreateProcess и ждать пока отработает(этого добра тоже навалом)
рядом с архивом будет папка Surfaces_files(как то так, точно не помню)
и уже позволить выбирать в ней(или добавлять в нее)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2012, 05:24   #46
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

И ещё по примеру того как вы создали первый лист я решил сделать второй вот код
Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, unit1, StdCtrls, ExtCtrls;

type

    PElList2=^TElList2;

  TFrame3 = class(TFrame)
    ListBox1: TListBox;
    Panel1: TPanel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    procedure ListBox1Click(Sender: TObject);
  private
    List:PElList2;
  public
    constructor Create(List:PElList2; Owner:TWinControl);
  end;

implementation

{$R *.dfm}

constructor TFrame3.Create;
 var i:integer;
begin
 inherited Create(Owner);
 Parent:=Owner;
 ListBox1.Clear;
 Self.List:=List;
 for i:=0 to Length(List^.data)-1 do
  ListBox1.Items.Add(WideCharArToWideStr(List^.data[i].name));
end;

procedure TFrame3.ListBox1Click(Sender: TObject);
var i:integer;
begin
 if ListBox1.ItemIndex>0 then
  begin
   i:=ListBox1.ItemIndex;
   Label1.Caption:=IntToStr(List^.data[i].id);
   Edit1.Text:=WideCharArToWideStr(List^.data[i].name);
end;
end;

end.
Прописал все все нормально. Запускаю программу выбираю 2-ой лист и все 0 внимание ни чего не показывает.
nefakt вне форума Ответить с цитированием
Старый 02.11.2012, 05:26   #47
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ListBoxClick там в case прописали создание этого фрейма?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2012, 05:43   #48
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Ну то что новую страницу код скинул там в ListBox прописан в принципе и создания. На главной форме вот дописал тут
Код:
uses Unit2, Unit3;
и тут
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 if Combobox1.ItemIndex<0 then exit;
 if Assigned(Frame) then FreeAndNil(Frame);
 case Combobox1.ItemIndex of
  0:Frame:=TFrame3.Create(@List2,Panel1);
  //1: и тп
 end;
nefakt вне форума Ответить с цитированием
Старый 02.11.2012, 05:48   #49
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 if Combobox1.ItemIndex<0 then exit;
 if Assigned(Frame) then FreeAndNil(Frame);
 case Combobox1.ItemIndex of
  0:Frame:=TFrame2.Create(@List1,Panel1);
  1:Frame:=TFrame3.Create(@List2,Panel1);//первое индекс названия страницы в боксе, далее класс Frame для этой страницы
 end;
первое же верно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2012, 05:56   #50
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Все теперь фрейм вызывается но вызывается пустой не загружая листа
nefakt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка данных chipesca Microsoft Office Excel 0 25.05.2012 01:14
Обработка данных grichanuk Microsoft Office Excel 2 20.06.2011 12:36
Обработка данных Мигель Microsoft Office Excel 11 16.04.2011 16:47
Обработка данных из БД andozag C/C++ Базы данных 1 24.03.2011 23:38
Обработка данных beztrud БД в Delphi 1 11.03.2011 21:49