![]() |
|
|
#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('Путь к файлу'); |
|
#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. |
|
#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
|
|||
|
|||
|
Ну после смены поставь вывод. Будет меняться прямо по клику.
А вообще, довольно примитивная задача. Поменять местами значения в главной и побочной диагонали. При этом значения у тебя одни и те-же. Фактически, тебе можно даже не менять, а просто заполнить по новому - там, где был Х, вывести О и наоборот. |