|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.05.2009, 23:25 | #1 |
Пользователь
Регистрация: 26.05.2009
Сообщений: 16
|
Работа с потоками
При работе с потоком создаю процедуру, в которой входным является один поток, а выходным другой. Сам текст в поток загружается из файла или TMemo. Загружается обработанный поток, то есть выходной, в TMemo, точнее должен загружаться, но процедура Memo1.Lines.LoadFromStream(g); не работает. Тое сть сама программа не вылетает, но в Memo ничего не записывается. Что может быть за ошибка?
|
26.05.2009, 23:31 | #2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Приведите пример своего кода, а то так сложно что то сказать...
Всегда рад помочь!
|
26.05.2009, 23:35 | #3 |
Пользователь
Регистрация: 26.05.2009
Сообщений: 16
|
ну вот код самой программы:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Edit1 : TEdit; BitBtn4: TBitBtn; BitBtn5: TBitBtn; Memo1: TMemo; Label1: TLabel; Label2: TLabel; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; procedure BitBtn5Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState); procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure OpenDialog1CanClose(Sender: TObject; var CanClose: Boolean); procedure IntToStr(var g:TStream); procedure Memo_File(Sender:TObject); private { Private declarations } public { Public declarations } FName: string; f:TStream; fl:boolean; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin if OpenDialog1.Execute then begin FName := OpenDialog1.FileName; Edit1.Text := FName; Memo1.Lines.LoadFromFile(FName); end; end; procedure TForm1.BitBtn3Click(Sender: TObject); begin SaveDialog1.FileName := FName; if SaveDialog1.Execute then begin FName := SaveDialog1.FileName; Edit1.Text := FName; Memo1.Lines.SaveToFile(FName); end end; procedure TForm1.IntToStr(var g:TStream); var i,k,j:word; s1:string; c:char; begin g.Position:=0; with f do begin Position := 0; i := 0; k:=Size; while i <> k do begin Read(c,1); inc(i); with g do begin case c of '1': s1:='один'; '2': s1:='два'; '3': s1:='три'; '4': s1:='четыре'; '5': s1:='пять'; '6': s1:='шесть'; '7': s1:='семь'; '8': s1:='восемь'; '9': s1:='девять'; '0': s1:='нуль'; end; if (c>'0') and (c<'9') then begin j:=1; while j<>length(s1)+1 do begin write(s1[j],1); inc(j); end; c:=' '; write(c,1); end; end; end; FName:='tmp1.txt'; Free; end end; procedure TForm1.Memo_File; begin fl:=not fl; end; procedure TForm1.BitBtn4Click(Sender: TObject); var g:TStream; s:string; begin if (FName <> '') or (fl=true) then begin if fl=false then f:=TFileStream.Create(FName, fmOpenRead) else begin f:=TStringStream.Create(Memo1.Lines .Text); end; s:=''; g:=TStringStream.Create(s); IntToStr(g); Memo1.Lines.LoadFromStream(g); end else MessageDlg('Не выбран файл!', mtWarning, [mbOk], 0) end; procedure TForm1.FormCreate(Sender: TObject); begin FName := ''; fl:=false; end; procedure TForm1.OpenDialog1CanClose(Sender: TObject; var CanClose: Boolean); begin if not FileExists(OpenDialog1.FileName) then begin MessageDlg('Файл не найден!', mtError, [mbOk], 0); CanClose := false end end; procedure TForm1.BitBtn5Click(Sender: TObject); begin Application.Terminate end; end. |
27.05.2009, 00:52 | #4 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Сделайте так и всё будет работать
Код:
Всегда рад помочь!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с потоками | Neymexa | Общие вопросы .NET | 16 | 23.04.2009 17:42 |
Работа с аудио (потоками) | JamS007 | Общие вопросы C/C++ | 2 | 14.02.2009 22:14 |
Проблема с потоками | DeeNamid | Общие вопросы Delphi | 2 | 04.08.2008 17:36 |
работа с потоками | Alex_Pro | Общие вопросы .NET | 1 | 01.07.2008 07:25 |
C++, работа с потоками | mat90x | Помощь студентам | 20 | 15.05.2008 22:20 |