![]() |
|
#1
|
||||
|
||||
![]() Скажите вот есть форма Form1 на ней button1 и Memo1.
Как сделать так чтобы при нажатии Button1 в Memo1. Появилось содержимое txt файла.(С:\text.txt) |
#2
|
||||
|
||||
![]() Код:
Memo1.Lines.LoadFromFile('C:\text.txt') |
#3
|
||||
|
||||
![]() Спасибо за помощь получилось.Есть еще вопросы:
1.Можно разместить на форме Label1 написать слово к примеру (Внимание) и сделать так чтобы оно постоянно "Мигало" т.е меняло цвет к примеру с красного на черный с интервалом в 1-3 секунды примерно. 2.Что можно кинуть на форму Memo или Edit чтоб можно было ввести текст и при клике кнопки записать этот текст в формат txt (блокнот).(Пример Введите ник,кнопка запомнить) 3.Как можно гдето на форме вывести число сколько раз эта форма запускалась. 4.Как сделать чтоб при открытии формы стир ался txt фаил (c:\text.txt) а если его нет по заданному пути (c:\text.txt) то форма не как на это не реагировала (не выдала ни какой ошибки) |
#4
|
||||
|
||||
![]() 1) Это можно сделать через цикл и менять свойство Font. Цикл можно прописать в таймере и выставить Timer1.Interval:=3000.
2) Можно просто добавить кнопку BitBtn со своим рисунком (например "Дискета", как в Ворде) и текстом (например "Сохранить"). 3) Можно кол-во запусков записывать в реестр и затем считывать его оттуда в Label. 4) Цитата:
Код:
var file: TextFile; fn: String[80]; begin if Form1.SaveDialog1.Execute then fn := 'c:\text.txt'; AssignFile(file, fn); {$I-} Reset(file); writeln(file, ''); CloseFile(file); Цитата:
![]() Программирование - это искусство и наш смысл жизни. Последний раз редактировалось moo2k, 14.10.2007 в 09:37. |
#5
|
||||
|
||||
![]() 1)Кидаешь на форму два таймера, один называешь Timer1, а другой Timer2, и кидаешь один Label. У Timer1 ставишь Interval на 500, а у Timer2 ставишь Interval на 1000. И вот код для Timer1:
Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Font.Style:=Label1.Font.Style+[fsBold]; Timer1.Enabled:=false; Timer2.Enabled:=true; end; Код:
procedure TForm1.Timer2Timer(Sender: TObject); begin Label1.Font.Style:=Label1.Font.Style-[fsBold]; Timer1.Enabled:=true; Timer2.Enabled:=false; end; end. 2)Ты имеешь ввиду сохранение текста? Если да то кидай на форму SaveDialog и Memo. Вот код для сохранения текста Memo: Код:
if not SaveDialog1.Execute then Exit else Memo1.Lines.SaveToFile(SaveDialog.FileName); А вот код для сохранения текста Edit'а, кинь на форму SaveDialog и Edit: Код:
var S:TStringList; begin S:=TStringList.Create; S.Text:=Edit1.Text; if not SaveDialog1.Execute then Exit else S.SaveToFile(SaveDialog1.FileName); S.Free 3)Создай в корневой папке программы файл RunCount.txt. В нём напиши цифру "0" в первой строке. И кинь на форму один Label. На событие формы OnCreate пиши: Код:
var RunCount:Integer; RunCountFile:TStringList; begin RunCountFile:=TStringList.Create; try if not FileExists('RunCount.txt') then begin ShowMessage('В корневой папке программы не найден файл RunCount.txt, пожалуйста создайте его!') RunCountFile.Free; else RunCountFile.LoadFromFile('RunCount.txt'); RunCount:=StrToInt(RunCountFile.Strings[0]); RunCount:=RunCount+1; Label1.Caption:=IntToStr(RunCount); RunCountFile.Strings[0]:=IntToStr(RunCount); RunCountFile.SaveToFile('RunCount.txt'); RunCountFile.Free; except end; 4)На событие OnCreate формы пиши: Код:
var F:TStringList; begin F:=TStringList.Create; try F.LoadFromFile('C:\text.txt'); F.Clear; F.SaveToFile('C:\text.txt') F.Free; except end; Надеюсь ответ полный? Надеюсь на твой отзыв. Последний раз редактировалось Winny, 14.10.2007 в 12:39. |
#6
|
||||
|
||||
![]() 2. Memo1.Lines.SaveToFile('Путь к файлу');
3. Или использовать ini файлы. 4. Вместо try ... except можно сделать и так: if FileExists('Путь к файлу') then DeleteFile('Путь к файлу'); Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#7
|
|||
|
|||
![]() люди,подскажите пожалуйста.
а как записывать текст из мемо в едит? притом перед этим программа разбивает предложение то есть "привет как дела" вот она склеить должна еще так сказать... заранее спасибо |
#8
|
|||
|
|||
![]() Код:
var I : Integer; S : String; begin S := ''; For I := 0 To Memo1.Lines.Count-1 Do S := S + Memo1.Lines[i] + ' '; Edit1.Text := S; |
#9
|
|||
|
|||
![]() спаасибо!!!!!!!!!
|
#10
|
||||
|
||||
![]() Цитата:
Код:
var IsBlind: Boolean = false; ... implementation ... procedure TForm1.Timer1Timer(Sender: TObject); begin with Label1.Font do case IsBlind of true: begin Style := Style+[fsBold]; Color := clRed; end; false: begin Style := Style-[fsBold]; Color := clBlack; end; end; IsBlind := not IsBlind; end; ... end. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#11
|
|||
|
|||
![]() информатик задал программу
по русски это в квадрате по диагонали крестики и нолики и при нажатии х и о должны меняться по диагоналям вот часть кода .. как бы так изменить чтоб на работала P.S. больно не понятны обработчики Код:
procedure btShowMasClick(Sender: TObject); procedure btClearMemoClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btChangeClick(Sender: TObject); программа Код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; procedure btShowMasClick(Sender: TObject); procedure btClearMemoClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btChangeClick(Sender: TObject); private { Private declarations } public { Public declarations } end; const size = 10; var Form2: TForm2; matrix: array[1..size,1..size] of char; implementation {$R *.dfm} procedure TForm2.btShowMasClick(Sender: TObject); //процедура "распечатки" массива в TMemo var col,row:byte; s:string; begin for row:=1 to size do begin s:=''; for col:=1 to size do s:=s+matrix[row,col]+' '; Memo1.Lines.Add(s); end; end; procedure TForm2.FormCreate(Sender: TObject); // заполнение массива var col,row,i: byte; begin //заполнение массива дефисами for row:=1 to size do for col:=1 to size do matrix[row,col]:='-'; //заполнение главной диагонали for i:=1 to size do matrix[i,i]:='O'; //заполнение побочной диагонали for i:=1 to size do matrix[i,size-(i-1)]:='X'; end; procedure TForm2.btChangeClick(Sender: TObject); // обмен значениями var i:integer; buffer:char; begin for i:=1 to size do begin buffer:= matrix[i,i]; matrix[i,i]:= matrix[i,size-(i-1)]; matrix[i,size-(i-1)]:=buffer; end; end; procedure TForm2.btClearMemoClick(Sender: TObject); // очистка редактора TMemo begin Memo1.Lines.Clear; end; end. |
#12
|
|||
|
|||
![]() Ну после смены поставь вывод. Будет меняться прямо по клику.
А вообще, довольно примитивная задача. Поменять местами значения в главной и побочной диагонали. При этом значения у тебя одни и те-же. Фактически, тебе можно даже не менять, а просто заполнить по новому - там, где был Х, вывести О и наоборот. |