![]() |
|
#1
|
|||
|
|||
![]() Доброго дня.
подскажите можно ли как-то взять данные из мемо и поместить в массив записей? причем каждая строка - запись(данные напр через пробел) |
#2
|
||||
|
||||
![]() а для чего в массив записей?
чем StringList не устраивает? и каков формат твоей записи? |
#3
|
||||
|
||||
![]() Цитата:
как, по-твоему, будет выглядеть такая структура? |
#4
|
|||
|
|||
![]() вообщем я изучаю паскаль(делфи) и для примера делаю телефонный справочник..
хочу чтоб сами данные справочника были в файле.. а програмка будет смотреть редактировать искать и сохранять.. вот.. хотел данные в массив записей определять чтоб с ними работать.. а что это за StringList??? объясните плз) |
#5
|
|||
|
|||
![]() ну я хотел чтоб програмка как-то различала пробелы))
напр r=record name: string nomer: integer mass:array of r бла бла.. такая строка макс 123 записывал бы как mass.name = макс и mass.nomer = 123..... )) |
#6
|
|||
|
|||
![]() непонятно написал)
напр если бы я ввел строку макс 123 я бы хотел чтоб она считалась как: в нэйм - макс а в намбер - 123 можно это как-то реализовать? |
#7
|
||||
|
||||
![]() Цитата:
StringList - это список строк. дальше Цитата:
если так объявишь, то не сможешь сохранить в файл, поскольку тип string - это указатель на динамическую область памяти, содержащую строку нужно так: name: string[255] или name: string[100] или name: shortstring вобщем, нужно изучать базис |
#8
|
|||
|
|||
![]() да мне не синтаксис нужен.
мне принцип нужен направление) можно это сделать как я задумал? или использовать StringList& какие преимущества? |
#9
|
||||
|
||||
![]() Код:
type TPerson = packed record Name: string[30]; // максимальная длина строки - 30 Phone: integer; // только здесь лучше тоже строку использовать end; var Form1: TForm1; f: file of TPerson; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Person: TPerson; begin AssignFile(f,'c:\Persons.dat'); Rewrite(f); // создать новый файл (перезаписать) или Reset(f); // если уже есть файл на диске (добавить) with Person do begin Name:= 'Вася Пупкин'; Phone:= 123456; end; Write(f,person); CloseFile(f); end; end. здесь отсутствует много чего нужного (например, что делать чтобы добавить запись в конец файла), так что осторожно. |
#10
|
|||
|
|||
![]() че то круто больно тут))
можешь объяснить плз?) я тоже сделал)) вот так вот) Код:
procedure TForm1.open1Click(Sender: TObject); var i:integer; begin t:=TStringList.Create; with OpenDialog1, Memo1 do if Execute then memo1.Lines.LoadFromFile(FileName); for i:=1 to 5 do begin t.text := stringReplace(memo1.Lines[i-1], ' ', #13#10,[rfReplaceAll]); mass[i].nomer:=strtoint(t[0]); mass[i].name :=t[1]; end; end; Последний раз редактировалось Admin, 21.08.2011 в 20:55. |
#11
|
|||
|
|||
![]() щас еще сделаю чтоб размер массива динамически создавался...
но вообще я доволен) |
#12
|
||||
|
||||
![]() Вообще такое можно сделать через двунаправленный список:
Код:
type TJopa = record Data: string; Left, Right: pointer; end; А вообще, чем тебе стринг лист не нравится? Не по феншую? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#13
|
|||
|
|||
![]() помогите считать из файла в массив записей...(
неполучается.. |
#14
|
||||
|
||||
![]() Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#15
|
|||
|
|||
![]() )))
спасибо,сделаю выводы) |