ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #6101  
Старый 11.04.2010, 22:52
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от SkyLine32  
Скажите как мне создать папку в том каталоге, который выберет юзер?


procedure TForm4.Button1Click(Sender: TObject);
var
fold: string;
begin
fold := shelltreeview1.SelectedFolder.PathName;
CreateDir(fold+'000');
end;

НЕ КАТИТ!
Почему не катит?
PHP код:
CreateDir(path+'\SnapShot'); 
Просто скорее всего у тебя в fold идет типа 'c:\temp'
для этого надо добавить '\' и каталог который хочешь создать.

P.s. Ccылка

Последний раз редактировалось JnK; 11.04.2010 в 22:55..
 
Ответить с цитированием

  #6102  
Старый 11.04.2010, 22:57
SkyLine32
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме:
4022236

Репутация: 38
Отправить сообщение для SkyLine32 с помощью ICQ Отправить сообщение для SkyLine32 с помощью AIM Отправить сообщение для SkyLine32 с помощью MSN Отправить сообщение для SkyLine32 с помощью Yahoo
По умолчанию

Цитата:
Сообщение от JnK  
Почему не катит?
PHP код:
CreateDir(path+'\SnapShot'); 
Просто скорее всего у тебя в fold идет типа 'c:\temp'
для этого надо добавить '\' и каталог который хочешь создать.
Потому что папка создаётся сразу, юзеру же нет возможности при создании директории видеть эту папку и переименовать. Тоесть эффект должен быть такой: юзер жмет Создать папку, она должна в этом окне что на скрине появится и предложить её переименовать. Ну я думаю ты меня понял...
 
Ответить с цитированием

  #6103  
Старый 11.04.2010, 23:00
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме:
3055344

Репутация: 259
Отправить сообщение для EndLeSSDre@M с помощью ICQ
По умолчанию

Цитата:
Сообщение от SkyLine32  
Потому что папка создаётся сразу, юзеру же нет возможности при создании директории видеть эту папку и переименовать. Тоесть эффект должен быть такой: юзер жмет Создать папку, она должна в этом окне что на скрине появится и предложить её переименовать. Ну я думаю ты меня понял...
Для того, чтобы изменения показывались сразу есть Свойство AutoRefresh // по-умолчанию False.

Далее создаёшь новый каталог

PHP код:
NewFolder:=ShellTreeView1.Path+'\New Folder'CreateDir(NewFolder); 
или 
ForceDirectories
(NewFolder
 
Ответить с цитированием

  #6104  
Старый 11.04.2010, 23:04
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от SkyLine32  
Потому что папка создаётся сразу, юзеру же нет возможности при создании директории видеть эту папку и переименовать. Тоесть эффект должен быть такой: юзер жмет Создать папку, она должна в этом окне что на скрине появится и предложить её переименовать. Ну я думаю ты меня понял...
PHP код:
function BrowseCallbackProc(hwndHWNDuMsgUINTlParamLPARAMlpData:
  
LPARAM): Integerstdcall;
begin
  
if (uMsg BFFM_INITIALIZEDthen
    SendMessage
(hwndBFFM_SETSELECTION1lpData);
  
BrowseCallbackProc := 0;
end;

function 
GetFolderDialog(HandleIntegerCaptionstring; var strFolder:
  
string): Boolean;
const
  
BIF_STATUSTEXT = $0004;
  
BIF_NEWDIALOGSTYLE = $0040;
  
BIF_RETURNONLYFSDIRS = $0080;
  
BIF_SHAREABLE = $0100;
  
BIF_USENEWUI BIF_EDITBOX or BIF_NEWDIALOGSTYLE;
 
var
  
BrowseInfoTBrowseInfo;
  
ItemIDListPItemIDList;
  
JtemIDListPItemIDList;
  
PathPAnsiChar;
begin
  Result 
:= False;
  
Path := StrAlloc(MAX_PATH);
  
SHGetSpecialFolderLocation(HandleCSIDL_DRIVESJtemIDList);
  
with BrowseInfo do
  
begin
    hwndOwner 
:= GetActiveWindow;
    
pidlRoot := JtemIDList;
    
SHGetSpecialFolderLocation(hwndOwnerCSIDL_DRIVESJtemIDList);
 
    { return 
display name of item selected }
    
pszDisplayName := StrAlloc(MAX_PATH);

    { 
set the title of dialog }
    
lpszTitle := PChar(Caption); //'Select the folder';
    
flags that control the return stuff }
    
ulFlags := BIF_RETURNONLYFSDIRS or BIF_NEWDIALOGSTYLE ;
  
//  ulFlags := ulFlags or BIF_NEWDIALOGSTYLE or BIF_RETURNONLYFSDIRS;
 //ulFlags := ulFlags or BIF_RETURNONLYFSDIRS;
    
lpfn := @BrowseCallbackProc;
    { 
extra info that's passed back in callbacks }
    lParam := LongInt(PChar(strFolder));
  end;

  ItemIDList := SHBrowseForFolder(BrowseInfo);

  if (ItemIDList <> nil) then
    if SHGetPathFromIDList(ItemIDList, Path) then
    begin
      strFolder := Path;
      Result := True
    end;
end; 
PHP код:
  if not GetFolderDialog(GetStdHandle(STD_OUTPUT_HANDLE), 'Выберите каталог'Paththen 
в Path окажется выбор пользователя.


P.s. возможно понадобится uses ShlObj;

Последний раз редактировалось JnK; 11.04.2010 в 23:32..
 
Ответить с цитированием

  #6105  
Старый 11.04.2010, 23:13
SkyLine32
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме:
4022236

Репутация: 38
Отправить сообщение для SkyLine32 с помощью ICQ Отправить сообщение для SkyLine32 с помощью AIM Отправить сообщение для SkyLine32 с помощью MSN Отправить сообщение для SkyLine32 с помощью Yahoo
По умолчанию

EndLeSSDre@M, ок, а как сделать эффект чтобы после создании папки, сразу переходило на переименование директории, т.к. в твоём примере создаётся папка 'где то там'.

JnK, это сложно для меня )
 
Ответить с цитированием

  #6106  
Старый 11.04.2010, 23:34
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от SkyLine32  
EndLeSSDre@M, ок, а как сделать эффект чтобы после создании папки, сразу переходило на переименование директории, т.к. в твоём примере создаётся папка 'где то там'.

JnK, это сложно для меня )
А что тут сложного в программе сразу после {$R *.dfm} пишешь, выше указаный код:
PHP код:
uses ShlObj;

function 
BrowseCallbackProc(hwndHWNDuMsgUINTlParamLPARAMlpData:
  
LPARAM): Integerstdcall;
...
end;

function 
GetFolderDialog(HandleIntegerCaptionstring; var strFolder:
  
string): Boolean;
....
end
А кнопка выглядит так:
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
  
path:string;
begin
if GetFolderDialog(GetStdHandle(STD_OUTPUT_HANDLE), 'Выберите каталог'Paththen
  Showmessage
(path);
end
 
Ответить с цитированием

  #6107  
Старый 11.04.2010, 23:39
SkyLine32
Участник форума
Регистрация: 01.03.2009
Сообщений: 121
Провел на форуме:
4022236

Репутация: 38
Отправить сообщение для SkyLine32 с помощью ICQ Отправить сообщение для SkyLine32 с помощью AIM Отправить сообщение для SkyLine32 с помощью MSN Отправить сообщение для SkyLine32 с помощью Yahoo
По умолчанию

JnK, это не то что мне надо (
 
Ответить с цитированием

  #6108  
Старый 12.04.2010, 08:01
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

SkyLine32, в плане кода?
Я как понял, тебе надо.
1. открылось окно выбора каталога
2. Пользователь нажал "Создать каталог", и он в выделенном создает под каталог
3. и предлагает ввести (исправить) имя (не отдельный окном), а прям там.



Может плохо гуглил, но насчет компонента:
Link 1
Link 2

PHP код:
procedure TForm1.Button1Click(SenderTObject);
begin
  Path 
:= tree.Path// полный путь к выбранной в ShellTreeView папке
  
Name := tree.Selected.Text;// тут будет только имя выбранной папки
  
Dir := ExtractFileDir(p);//тут будет путь к выбранной папке без нее самой
  // теперь как советовал Arigato
  
RenameFile(Path '/' NamePath '/' 'Какое-то новое имя');
  
Tree.Refresh(Tree.Selected.Parent);
end

Последний раз редактировалось JnK; 12.04.2010 в 08:36..
 
Ответить с цитированием

  #6109  
Старый 12.04.2010, 11:42
DdoNbAsS
Познающий
Регистрация: 06.04.2010
Сообщений: 42
Провел на форуме:
85502

Репутация: 10
По умолчанию

Приветствую всех кодеров,вот есть такой очень важный для меня вопрос я все облазил не нашёл ответа на него,моя дальнейшая судьба будет зависеть от вас в программировании потому что уже честно устал продвижение нету!
Вот я начну Решил я Научиться кодить,очень много думал,у меня есть интерес!Вот я Начал как Новичок с Паскаля,Потом думаю Делфи,Си,и так далее.
Но я не могу то толком начать решать задачи на паскале и делать примеры очень обидно я быстро его начал осваивать и уже много чему научился а примеры не получаются!
Вот скачал Много Книг,С книги беру пример любой и все ровно выбивает ошибку в паскале!
Вот пример с книги Первая программа.
Цитата:
4.2. Первая программа на Паскале Конечно, кроме оператора Write в Паскале есть еще много операторов. Но для начального понимания того, как устроена программа на Паскале, достаточно и его. Вот пример программы:
PHP код:
 BEGIN      
Write
('Начали!');  
    
Write(8+1);  
    
Write(5-2)  
END.   
Должно получиться Начали!93 
Я веду имел этим что при каждом примере с книг не получается с ответом как в книги числа разные бывают то не высчитает,или ошибку пишет.
Помоги Пожалуйста Надеюсь на Вашу помощь,
Может посоветовать Литературы!
Спасибо за рани

Последний раз редактировалось DdoNbAsS; 12.04.2010 в 11:49..
 
Ответить с цитированием

  #6110  
Старый 12.04.2010, 12:12
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме:
3055344

Репутация: 259
Отправить сообщение для EndLeSSDre@M с помощью ICQ
По умолчанию

Цитата:
Сообщение от DdoNbAsS  
Приветствую всех кодеров,вот есть такой очень важный для меня вопрос я все облазил не нашёл ответа на него,моя дальнейшая судьба будет зависеть от вас в программировании потому что уже честно устал продвижение нету!
Вот я начну Решил я Научиться кодить,очень много думал,у меня есть интерес!Вот я Начал как Новичок с Паскаля,Потом думаю Делфи,Си,и так далее.
Но я не могу то толком начать решать задачи на паскале и делать примеры очень обидно я быстро его начал осваивать и уже много чему научился а примеры не получаются!
Вот скачал Много Книг,С книги беру пример любой и все ровно выбивает ошибку в паскале!
Вот пример с книги Первая программа.

PHP код:
 BEGIN      
Write
('Начали!');  
    
Write(8+1);  
    
Write(5-2)  
END.   
Должно получиться Начали!93 
Я веду имел этим что при каждом примере с книг не получается с ответом как в книги числа разные бывают то не высчитает,или ошибку пишет.
Помоги Пожалуйста Надеюсь на Вашу помощь,
Может посоветовать Литературы!
Спасибо за рани

из всего написанного я так и не понял что требуется??? и кстати там точки с запятой после врайта не хватает))) поясни свой вопрос в 2х словах! и readln в конце не забывай добавлять чтоб результат посмотреть!

PHP код:
program vivod;
uses crt;
begin
write
('Begin!');
write(8+1);
write(5-2);
readln;
end

Последний раз редактировалось EndLeSSDre@M; 12.04.2010 в 12:17..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/WPAN/WLAN 2565 Вчера 18:18
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[jQuery] - Задай вопрос, получи ответ Isis PHP, PERL, MySQL, JavaScript 62 25.12.2009 03:25
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ