Такой вопрос я внес данные в массив из переменной как мне этиже данные (строку) убрать какай нужна команда к нопки? хочу делать через условия..
1. В цикле пробегаешь по массиву (For, While) 2. Сравниваешь текущий эл. массива с эталоном (If ...(mass=str , Pos(str,mass) , i=номер строки) then) 3. Применяешь функции (Delete, или свои если удалить эл. массива) + / - эл. дин. массива
помоему я задал конкретный вопрос, а не спросил в чем дело.. я так понял никто не знает как убрать эту ошибку да ? она появляется после нажатия буттона отвечающий за переход по ссылке.. пробывал даже сайт сменить, не помогает :\
axeee, forum.windowsfaq.ru/showthread.php?t=90695 или же попробуй погуглить на слова "Ошибка сценария IE"
Скажите как мне создать папку в том каталоге, который выберет юзер? 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ылка
Потому что папка создаётся сразу, юзеру же нет возможности при создании директории видеть эту папку и переименовать. Тоесть эффект должен быть такой: юзер жмет Создать папку, она должна в этом окне что на скрине появится и предложить её переименовать. Ну я думаю ты меня понял...
Для того, чтобы изменения показывались сразу есть Свойство AutoRefresh // по-умолчанию False. Далее создаёшь новый каталог PHP: NewFolder:=ShellTreeView1.Path+'\New Folder'; CreateDir(NewFolder); или ForceDirectories(NewFolder)
PHP: function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall; begin if (uMsg = BFFM_INITIALIZED) then SendMessage(hwnd, BFFM_SETSELECTION, 1, lpData); BrowseCallbackProc := 0; end; function GetFolderDialog(Handle: Integer; Caption: string; 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 BrowseInfo: TBrowseInfo; ItemIDList: PItemIDList; JtemIDList: PItemIDList; Path: PAnsiChar; begin Result := False; Path := StrAlloc(MAX_PATH); SHGetSpecialFolderLocation(Handle, CSIDL_DRIVES, JtemIDList); with BrowseInfo do begin hwndOwner := GetActiveWindow; pidlRoot := JtemIDList; SHGetSpecialFolderLocation(hwndOwner, CSIDL_DRIVES, JtemIDList); { 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), 'Выберите каталог', Path) then в Path окажется выбор пользователя. P.s. возможно понадобится uses ShlObj;
EndLeSSDre@M, ок, а как сделать эффект чтобы после создании папки, сразу переходило на переименование директории, т.к. в твоём примере создаётся папка 'где то там'. JnK, это сложно для меня )
А что тут сложного в программе сразу после {$R *.dfm} пишешь, выше указаный код: PHP: uses ShlObj; function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): Integer; stdcall; ... end; function GetFolderDialog(Handle: Integer; Caption: string; var strFolder: string): Boolean; .... end; А кнопка выглядит так: PHP: procedure TForm1.Button1Click(Sender: TObject); var path:string; begin if GetFolderDialog(GetStdHandle(STD_OUTPUT_HANDLE), 'Выберите каталог', Path) then Showmessage(path); end;
SkyLine32, в плане кода? Я как понял, тебе надо. 1. открылось окно выбора каталога 2. Пользователь нажал "Создать каталог", и он в выделенном создает под каталог 3. и предлагает ввести (исправить) имя (не отдельный окном), а прям там. Может плохо гуглил, но насчет компонента: Link 1 Link 2 PHP: procedure TForm1.Button1Click(Sender: TObject); begin Path := tree.Path; // полный путь к выбранной в ShellTreeView папке Name := tree.Selected.Text;// тут будет только имя выбранной папки Dir := ExtractFileDir(p);//тут будет путь к выбранной папке без нее самой // теперь как советовал Arigato RenameFile(Path + '/' + Name, Path + '/' + 'Какое-то новое имя'); Tree.Refresh(Tree.Selected.Parent); end;
Приветствую всех кодеров,вот есть такой очень важный для меня вопрос я все облазил не нашёл ответа на него,моя дальнейшая судьба будет зависеть от вас в программировании потому что уже честно устал продвижение нету! Вот я начну Решил я Научиться кодить,очень много думал,у меня есть интерес!Вот я Начал как Новичок с Паскаля,Потом думаю Делфи,Си,и так далее. Но я не могу то толком начать решать задачи на паскале и делать примеры очень обидно я быстро его начал осваивать и уже много чему научился а примеры не получаются! Вот скачал Много Книг,С книги беру пример любой и все ровно выбивает ошибку в паскале! Вот пример с книги Первая программа. 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.
Учюсь по книгам Паскалю примеры не могу выполнить с книги,То выпевает ошибка,или не сходиться с ответом в книги!