Работа с файлове важно нещо, на всеки език за програмиране. Работа с файлове в Delphi позволява да четете, информация за магазина, както и извършване на други действия с файлове. В Delphi поддържа всички файлови операции - да създават, за търсене, да четат и пишат, преименуване на файлове, така и на директории. В Делфи, има няколко начина за работа с файлове.
За "лирично" влизането трябва да спомена Delphi компоненти, които са в състояние да работи с файлове. Те четат и да запази тяхното съдържание, като например String. в текстов формат на файла. Този компонент ListBox. ComboBox и Memo. Намира се на първия раздел на Компонент палитра.
Всеки ред ListBox и ComboBox компоненти е обект на артикули, [I]. и Допълнителни - Линии [I]. където I - номер на ред, който се брои от нула. Добавянето на компоненти се извършва в редове методи Добавете и Insert:
започвам
Memo1.Lines.Add ( "първи ред");
ComboBox1.Items.Add ( "първи ред");
ComboBox1.Items.Add ( "вторият низ ');
ListBox1.Items.Add ( "първи ред");
ListBox1.Items.Add ( "вторият низ ');
приключи;
Методът на Add добавя нова линия до края. Поставете метод има допълнителен параметър, показващ кой ред след публикуване на нов ред. Достъп до линии се извършва, както следва:
ComboBox1.Items [0]: = "първа линия променя;
ListBox1.Items [1]: = "втора линия променени;
В ComboBox компонент допълнително има Текст собственост. където (както в Edit компонент) е входния текст:
ComboBox1.Text: = "Въведеният текст";
В момента избран ред показва ComboBox компонент имот тип ItemIndex число. това означава, че е специален брой на линия. Следователно, за да се получи много ComboBox компонент, избран линия може да бъде следната конструкция:
или, по-оператор връзка
С ComboBox1 правя
S: = артикули [ItemIndex];
Ето как, като натиснете бутона за въвеждане може да се съхранява в компонента въведени в информационната линия и да изтриете, като натиснете Escape:
Маркирайте върху Форма ComboBox и отидете на инспектор на обекта, в раздела Събития. Кликнете два пъти върху OnKeyPress на манипулатор. Delphi система ще създаде празен манипулатор. Напиши:
започвам
ако Key = # 13 тогава
ComboBox1.Items.Add (ComboBox1.Text);
ако Key = # 27 тогава
ComboBox1.Items.Delete (ComboBox1.Items.Count-1);
приключи;
Key - определени в този изход променлива, съдържаща кода на натискане на бутона, # 13 и # 27 - ключови кодове Въведете и да избяга, съответно. Items.Count - номер, съдържаща се в редовете на компонента. Тъй като броят на линиите отива от нула, ние се изважда един. След следващото отстраняване на броя на редовете варира, като по този начин, Items.Count-1 винаги сочи към последния ред. Многократното натискане Escape. можем да премахнем всички редове. екип
ComboBox1.Items.Delete (0);
можете да постигнете същия ефект, само на първия ред ще бъдат изтрити. Въпреки това, за да изтриете всички наведнъж, там е ясен метод!
И сега всъщност запазване на съдържанието на даден файл. За да направите това, изпълнете командата
Въпреки това, разширяването може да предостави всякаква по избор, не е задължително. TXT, и как да се направи без него. Но разширяването. TXT ще направи по-лесно за отваряне на файла в Notepad vindovskim стандарт, което е много удобно на сцената на писане на програмата!
За да изтеглите е метод LoadFromFile:
Какво става, ако в програмата не работи с компоненти ComboBox. ListBox, или бележка. и съхраняване на информацията, която ви трябва? Вземете един от компонентите и да я направи невидими за това в инспектора на обекта, за да зададете Видим собственост на False. Нейната функционалност няма да се промени!
Крайният докосване - да се създаде програма, която запазва позицията си на екрана по време на затваряне и отваряне на едни и същи. Ние трябва да се запазят двата параметъра - стойностите на имоти образува левицата и Top, разстоянието от левия и най-краищата на екрана, съответно. Тези стойности са изразени в пиксели и имат тип число. Необходимо е да се преведат тези номера в низ (тип String), използвайки IntToStr оператор. Така че, се облича с форма на невидим ListBox. кликнете върху празно място форми. svystva да го появи в инспектора на обекта, и след това върху раздела Събития. Кликнете върху манипулатор OnClose и установени пишат поръчки:
започвам
ListBox1.Items.Clear;
ListBox1.Items.Add (IntToStr (Form1.Left));
ListBox1.Items.Add (IntToStr (Form1.Top));
ListBox1.Items.SaveToFile ( "MyFormPos.txt ');
приключи;
Този процесор поддържа форма позиция на екрана. Сега пиша на водача, пускане форми на бивш място в началото на програмата. Създаване на празен манипулатор OnCreate събитие. Това събитие се случва по време на "Създаване" форми на операционната система. В този момент, и е необходимо да се възложи необходимите качества. Е-мейл:
започвам
ако FileExists ( "MyFormPos.txt") след
започвам
ListBox1.Items.LoadFromFile ( "MyFormPos.txt ');
Form1.Left: = StrToInt (ListBox1.Items [0]);
Form1.Top:=StrToInt(ListBox1.Items[1]);
приключи;
приключи;
Първият ред е проверка на наличието на файла, защото ако не е, ще възникне грешка. Въпреки това, след издаването на програмата за превенция ще се отвори в мястото, където тя е в етап на проектиране и желания файл ще бъдат пресъздадени, когато затворите!
След това, логичното се започне / крайните скоби съдържа в самия код, който ще бъде изпълнен само prinalichii MyFormPos.txt файл в папката с програмата, защото използва относителен път. Можете да зададете на определено място, например, C: \ Program Files \ MyProg \ MyFormPos.txt.
Проверка за файл suschestvovovanie може да се извърши с помощта на контролните изключения. Ако файлът не съществува, няма да има изключение. прехващане със специален оператор, ние можем да се избегнат грешките в програмата.
Разбира се, професионални програми запазват позицията си в Регистъра на Windows. Но всичко си има време.
Memo1.Lines.Add ( "първи ред");
ComboBox1.Items.Add ( "първи ред");
ComboBox1.Items.Add ( "вторият низ ');
ListBox1.Items.Add ( "първи ред");
ListBox1.Items.Add ( "вторият низ ');
процедура TForm1.Button1Click (Sender: TObject);
започвам
MP1.DeviceType: = dtAutoSelect;
MP1.FileName: = "име";
ако не MP1.AutoOpen тогава MP1.Open;
MP1.Play;
приключи;
процедура TForm1.Button2Click (Sender: TObject);
започвам
MP1.Display: = Panel1;
с OpenDialog1 правя
ако Execute след това
започвам
MP1.FileName: = FileName;
MP1.Open;
MP1.Play;
приключи;
приключи;
Тук трябва да добавим OpenDialog, че е възможно и в предишния пример, за да го поставите. И още. Размерът на площадката за игра, която е на панела, което трябва да се види по-рано в свойствата на файла върху раздела "Информация". Но това е по-добре да направите панела повече, и настроите своята собственост и BevelInner BevelOuter в bvNone, така че не се виждаше. Както и за размерите на различни файлове.
Ами да продължи да се превърнат в часове, минути и секунди, като се използва
функция Таим (Дължина: цяло число): String;
VAR Час, мин, сек: цяло число;
режим функция (Дължина: цяло число): String;
започвам
Резултати: = IntToStr (дължина);
ако Дължина
Толкова за дължината. А сегашната позиция връща имота. - правилно, позиция! Ние измерваме на таймера и дисплея в ProgressBar (по-добре да TrackBar). Отново TrackBar.Max имот предварително настроен равен Mediaplayer.Length.
Има позьор превърта. За да превъртате, първо трябва да се спре на играча, и таймер. След това се започва с различна стойност:
Бях изненадан, но не TrackBar imeeet събития на мишката. И това ще бъде възможно да се спре на събитието OnMouseDown. И все пак, можете да използвате OnEnter на събитието! Но все още се управлява след това е необходимо.
И да се промени по време на рамките бърза мишка, е необходимо да се въведе втори таймер за изпълнение, когато възпроизвеждането е спряло, и помоли
но по някаква причина не работи, грешка в началото на Александър, добави 01.05.12, 15:31:21
aaaaaaaa, е необходимо във формата на два пъти върху и пишат и разбират. Александър, добави 05.01.12, 17:11:13
помогне.
написана от добавите всичко е наред, тогава се използва командата Insert.
грешка отнема "Debugger уведомление изключение на проекта Project1.exe вдигна изключение клас EAccessViolation с" нарушаване на достъпа на адрес 0056D0FD в модул "съобщение Project1.exe'.Read на адрес 0000030C.Process спря. Използвайте Стъпка или Run да продължи."
Anonymous, добавя 05/01/12, 17:36:26
Грешките, които нямат време да се справят. Ето как можете да:
Memo1.Lines.Insert (0 'Първият низ');
Александър, добави 05.01.12, 17:44:33
направихте в началото на урока, който каже нещо подобно:
ComboBox1.Items [0]: = "първа линия променя;
ListBox1.Items [1]: = "втора линия променени;
Аз като се копира в програмата и поставете бъг изкачва Александър, добави 01.05.12, 17:54:49
и не е ясно защо
когато пиша Memo1.Lines.Insert (0 'Първият низ'); или има comboBox1.Items.Insert (0 'vaoloashlo)
всичко е наред, но Stith напишете "Memo2.Lines.Insert (1," втората Throk '); " без "Memo1.Lines.Insert (0 'Първият низ');" след това се изкачва opyadzhe точно същия грешка.
Свързани статии