Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2014, 07:49   #11
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

да елы палы чем ExpandEnvironmentStrings не угодил?

Код:
function ExpandEnvironmentStringsPas(const Str:string):string;
begin
  SetLength(Result,Length(Str)+1024);
  SetLength(Result,ExpandEnvironmentStrings(PChar(Str),PChar(result),Length(result)));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  caption:= ExpandEnvironmentStringsPas('C:\Users\%UserName%\AppData\2.txt');
end;
и привязываться к "Ц:" - плохой вариант

Код:
caption:= ExpandEnvironmentStringsPas('%Userprofile%\AppData\2.txt');
//или
caption:= ExpandEnvironmentStringsPas('%AppData%\2.txt');
//или
caption:= ExpandEnvironmentStringsPas('%SystemDrive%\Users\%UserName%\AppData\2.txt');
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 02.09.2014 в 07:55.
Slym вне форума Ответить с цитированием
Старый 02.09.2014, 07:59   #12
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

угодил наверно) парню лет 14 ион только увидел компилятор не надо его обижать!!!
к стати почему постоянно место помощи забивать начинают? повышают самооценку? прщье надо быть и помочь а ни строить умников! Умных топят
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 02.09.2014 в 08:20.
Volkogriz вне форума Ответить с цитированием
Старый 02.09.2014, 08:31   #13
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
да елы палы чем ExpandEnvironmentStrings не угодил?

Код:
function ExpandEnvironmentStringsPas(const Str:string):string;
begin
  SetLength(Result,Length(Str)+1024);
  SetLength(Result,ExpandEnvironmentStrings(PChar(Str),PChar(result),Length(result)));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  caption:= ExpandEnvironmentStringsPas('C:\Users\%UserName%\AppData\2.txt');
end;
и привязываться к "Ц:" - плохой вариант

Код:
caption:= ExpandEnvironmentStringsPas('%Userprofile%\AppData\2.txt');
//или
caption:= ExpandEnvironmentStringsPas('%AppData%\2.txt');
//или
caption:= ExpandEnvironmentStringsPas('%SystemDrive%\Users\%UserName%\AppData\2.txt');
Я конечно все понимаю!Но опять перезаписывает мемо)Если грузишь два файла
mitiay вне форума Ответить с цитированием
Старый 02.09.2014, 08:32   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
прщье надо быть и помочь а ни строить умников! Умных топят
прщье от слова прыщ? И где тут кто кого топил? Умных топят, а дураков?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.09.2014, 08:46   #15
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

блин клава н...улась ща по позже отвечу! дураки учатся если им помочь! мы не рождаемся идеальными! мы учимся! и как нас учат такие и знания!!!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 02.09.2014, 09:37   #16
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

про два файла я только прочитал
Код:
function ExpandEnvironmentStringsPas(const Str:string):string;
begin
  SetLength(Result,Length(Str)+1024);
  SetLength(Result,ExpandEnvironmentStrings(PChar(Str),PChar(result),Length(result)));
end;

procedure TForm1.FormCreate(Sender: TObject);
var Strings:TStringList;
begin
  memo1.Lines.Clear;
  Strings:=TStringList.Create;
  try
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\1.txt'));
    memo1.Lines.AddStrings(Strings);
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\2.txt'));
    memo1.Lines.AddStrings(Strings);
  finally
    Strings.Free;
  end;
end;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 02.09.2014, 16:01   #17
oksalan
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 12
По умолчанию

при открытии я б не указывал дерикторию, так как программа будет заточена только под вашу машину, лучше использовать через ТОпенфайл.
oksalan вне форума Ответить с цитированием
Старый 02.09.2014, 16:06   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от oksalan Посмотреть сообщение
при открытии я б не указывал дерикторию, так как программа будет заточена только под вашу машину, лучше использовать через ТОпенфайл.
не все пути являются уникальными, с ЮсерФолдер путь универсальный.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.09.2014, 19:14   #19
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
про два файла я только прочитал
Код:
function ExpandEnvironmentStringsPas(const Str:string):string;
begin
  SetLength(Result,Length(Str)+1024);
  SetLength(Result,ExpandEnvironmentStrings(PChar(Str),PChar(result),Length(result)));
end;

procedure TForm1.FormCreate(Sender: TObject);
var Strings:TStringList;
begin
  memo1.Lines.Clear;
  Strings:=TStringList.Create;
  try
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\1.txt'));
    memo1.Lines.AddStrings(Strings);
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\2.txt'));
    memo1.Lines.AddStrings(Strings);
  finally
    Strings.Free;
  end;
end;
Спасибо большое!!Еще вопрос )))Как избежать ошибки " файл не найдет" То есть если путь корявый как сделать чтоб не было ошибки
mitiay вне форума Ответить с цитированием
Старый 02.09.2014, 20:31   #20
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Код:
function ExpandEnvironmentStringsPas(const Str:string):string;
begin
  SetLength(Result,Length(Str)+1024);
  SetLength(Result,ExpandEnvironmentStrings(PChar(Str),PChar(result),Length(result)));
end;

procedure TForm1.FormCreate(Sender: TObject);
var Strings:TStringList;
begin
  try 
  memo1.Lines.Clear;
  Strings:=TStringList.Create;
  try
    try 
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\1.txt'));
    memo1.Lines.AddStrings(Strings);
    Strings.LoadFromFile(ExpandEnvironmentStringsPas('%Userprofile%\AppData\2.txt'));
    memo1.Lines.AddStrings(Strings);
  finally
    Strings.Free;
  end;
  except
    on e:exception do 
    Application.MessageBox('фигвам','финита ля камедия',mb_ok);
  end;
end;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путь к файлу masicev C# (си шарп) 10 09.12.2013 08:58
Путь к файлу. Sniperok Общие вопросы по Java, Java SE, Kotlin 2 12.08.2010 04:46
путь к файлу Jaroslav Microsoft Office Excel 8 02.07.2010 15:48
Путь к файлу Belokuraya Microsoft Office Excel 17 12.08.2009 17:30
Путь к файлу Баламут Win Api 12 14.05.2008 13:27