Помощь - Поиск - Пользователи - Календарь
Полная версия: Операциz с Savedialog
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Mr.Dmitry
Народ не знаю уже что делать вcе перепробовал.Мне нужно сохранить таблицу stringgrid при помощи savedialog!
Пожалуйсто помогите очень нужно?
volvo
Что именно не получается? Само сохранение StringGrid-а, или выбор файла, в который будешь сохранять с использованием SaveDialog?
Mr.Dmitry
Цитата(volvo @ 27.04.2006 19:05) *

Что именно не получается? Само сохранение StringGrid-а, или выбор файла, в который будешь сохранять с использованием SaveDialog?

Само сохранение. Лазил по всемучебникам но везде описано только открытие при помощи opendialog а сохранения нет!
volvo
Не путай понятия! С помощью OpenDialog ты ничего загрузить не можешь... Ты можешь только выбрать откуда загружать...

Вот тут - загрузка/сохранение TStringGrid:
Сохранение/Загрузка TStringGrid
Mr.Dmitry
Цитата(volvo @ 27.04.2006 20:15) *

Не путай понятия! С помощью OpenDialog ты ничего загрузить не можешь... Ты можешь только выбрать откуда загружать...

Вот тут - загрузка/сохранение TStringGrid:
Сохранение/Загрузка TStringGrid


Так я и пешу что везде описано открытие при помощи opendialog а сохранение при помощи savedialog не где нет!
Кстати на твою ссылку меня не пускают!
Романтик
Цитата(Mr.Dmitry @ 27.04.2006 20:29) *

Кстати на твою ссылку меня не пускают!

сори за оффтоп:
зарегистрироваться просто надо. yes2.gif
Mr.Dmitry
Большое всем спасибо!
Mr.Dmitry
Цитата(Mr.Dmitry @ 27.04.2006 19:29) *

Так я и пешу что везде описано открытие при помощи opendialog а сохранение при помощи savedialog не где нет!
Кстати на твою ссылку меня не пускают!

Появилось несколько вопросов!
1. Мне нужно сохранить stringgrid при помощи savedilog!
2. код загрузки по данной ссылки не работает!
hardcase
Код

// сохраняет сетку
procedure SaveGrid(Grid: TStringGrid; const FileName: string);
  var F: text;
      i,j: integer;
      RowCount, ColCount: integer;
  begin
    AssignFile(F, FileName);
    Rewrite(F);
    try
      RowCount:=Grid.RowCount;
      ColCount:=Grid.ColCount;
      WriteLn(F, RowCount, ColCount);
      for i:=0 to RowCount-1 do
        with Grid.Rows[i] do
        for j:=0 to ColCount-1 begin
            WriteLn(F, Strings[j]);
        end;
    finally
      CloseFile(F);
    end
  end;

// загружает сетку
procedure LoadGrid(Grid: TStringGrid; const FileName: string);
  var F: text;
      i,j: integer;
      RowCount, ColCount: integer;
      s: string;
  begin
    AssignFile(F, FileName);
    Reset(F);
    try
      ReadLn(F, RowCount, ColCount);
      Grid.RowCount:=RowCount;
      Grid.ColCount:=ColCount;
      for i:=0 to RowCount-1 do
        with Grid.Rows[i] do
        for j:=0 to ColCount-1 begin
            ReadLn(F, s);
            Strings[j]:=s;
        end;
    finally
      CloseFile(F);
    end;
  end;

...

// а так нужно использовать СэйвДиалог
if SaveDialog1.Execute then begin
      SaveGrid(StringGrid1, SaveDialog1.FileName);
end;
volvo
Mr.Dmitry, ПОТРУДИСЬ объяснить мне кое что. Ты предыдущие посты что, игнорируешь? Тебе русским языком объясняют, что НЕ МОЖЕШЬ ты ничего сохранить через SaveDialog !!! Точка! Ты можешь ТОЛЬКО задать имя файла. Это ясно? Или тебе на пальцах объяснить, для чего SaveDialog предназначен?

Во-вторых. Ты знаешь, я не принимаю ТАКОЙ аргументации:
Цитата
2. код загрузки по данной ссылки не работает!
Если ты решил что-то опревергать - приведи свой проект, с исходными данными, и ЖЕЛАЕМЫМ тобой результатом. Темы в FAQ НИГДЕ без тестов и проверки не добавляют... Может ты просто читать не умеешь и накосячил где-то? Здесь телепатов НЕТ, заруби себе это на носу!

P.S. Еще одна попытка использовать "метод попугая" и начать опять повторять, что тебе нужно сохранить через SaveDialog - тема улетает в мусорку. Все.
J1nn
а объясните мне на пальцах ,если не трудно,для чего сейв дайлог? wub.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.