<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BisonTech &#187; Delphi</title>
	<atom:link href="http://www.bisontech.net/category/tutorial/programmazione-tutorial/delphi/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bisontech.net</link>
	<description>Software &#124; free</description>
	<lastBuildDate>Thu, 09 Feb 2012 09:08:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Delphi, leggere il contenuto di una directory&#8230;</title>
		<link>http://www.bisontech.net/tutorial/delphi-leggere-il-contenuto-di-una-directory.html</link>
		<comments>http://www.bisontech.net/tutorial/delphi-leggere-il-contenuto-di-una-directory.html#comments</comments>
		<pubDate>Mon, 04 Jul 2011 07:29:31 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Snippets]]></category>

		<guid isPermaLink="false">http://www.bisontech.net/?p=1531</guid>
		<description><![CDATA[Oggi vediamo un piccolo snippets delphi, una procedura che restituisce la lista di file e directory presenti in una cartella e che accetta i caratteri jolly, ecco la procedura e un piccolo esempio di come funziona&#8230;]]></description>
			<content:encoded><![CDATA[<p>Oggi vediamo un piccolo snippets delphi, una procedura che restituisce la lista di file e directory presenti in una cartella e che accetta i caratteri jolly, ecco la procedura e un piccolo esempio di come funziona&#8230;<span id="more-1531"></span></p>
<pre class="brush: delphi; title: ; notranslate">

procedure FindFiles (const Path: String;
                          Attr: Integer;
                          List: TStrings) ;
var
   Res: TSearchRec;
   EOFound: Boolean;
begin
   EOFound:= False;
   if FindFirst(Path, Attr, Res) &lt; 0 then
     exit
   else
     while not EOFound do begin
       List.Add(Res.Name) ;
       EOFound:= FindNext(Res) &lt;&gt; 0;
     end;
   FindClose(Res) ;
end; 

// ListBox1 è un componente TListBox presente sul form, in alternativa si può usare TStringList...
FindFiles('C:\Windows\*.exe',faAnyFile,ListBox1.Items);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bisontech.net/tutorial/delphi-leggere-il-contenuto-di-una-directory.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come richiedere i permessi admin in un applicazione Delphi</title>
		<link>http://www.bisontech.net/tutorial/come-richiedere-i-permessi-admin-in-un-applicazione-delphi.html</link>
		<comments>http://www.bisontech.net/tutorial/come-richiedere-i-permessi-admin-in-un-applicazione-delphi.html#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:41:19 +0000</pubDate>
		<dc:creator>Staff</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[guide]]></category>

		<guid isPermaLink="false">http://www.bisontech.net/?p=582</guid>
		<description><![CDATA[Per chi è abituato a programmare in Delphi su sistemi Windows XP o precedenti si sarà sicuramente trovato in difficoltà al passaggio da XP a Windows Vista o Seven, infatti a differenza di XP, le versioni successive di Windows hanno introdotto UAC, quindi per eseguire alcune funzioni è necessario avere l&#8217;autorizazione dell&#8217;utente o bisogna farsi [...]]]></description>
			<content:encoded><![CDATA[<p></a></p>
<p>Per chi è abituato a programmare in Delphi su sistemi <strong>Windows XP </strong>o precedenti si sarà sicuramente trovato in difficoltà al passaggio da XP a <strong>Windows Vista</strong> o <strong>Seven</strong>, infatti a differenza di XP, le versioni successive di Windows hanno introdotto <strong>UAC</strong>, quindi<strong> per eseguire alcune funzioni è necessario avere l&#8217;autorizazione dell&#8217;utente</strong> o bisogna farsi avviare da utente Admin, per questo se ad esempio si prova a creare una directory sotto la directory di Windows oppure se si tenta di andare a mettere un programma in esecuzione automatica, il sistema si arrabierà e verrà sollevata un eccezione<span id="more-582"></span> di acceso non autorizato, purtroppo <strong>l&#8217;unico modo che abbiamo per poter far eseguire alcune funzioni è modificare il manifest dell&#8217;applicazione</strong> per far si che windows sappia che si tratta di un applicazione che richiede permessi admin, e quindi mostrerà all&#8217;utente la richiesta dei permessi (il 98% degli utenti tanto dirà di si&#8230;).</p>
<p>Ecco i pochi e semplici passi da seguire&#8230;</p>
<ol>
<li>creiamo un file XML con il seguente contenuto:

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span> <span style="color: #000066;">standalone</span>=<span style="color: #ff0000;">&quot;yes&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;assembly</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;urn:schemas-microsoft-com:asm.v1&quot;</span> <span style="color: #000066;">manifestVersion</span>=<span style="color: #ff0000;">&quot;1.0]</span>
<span style="color: #009900;"> &lt;assemblyIdentity version=&quot;</span>1.1.1.1<span style="color: #ff0000;">&quot;</span>
<span style="color: #009900;">  processorArchitecture=&quot;</span>X86<span style="color: #ff0000;">&quot;</span>
<span style="color: #009900;">  name=&quot;</span>YourApplicationExeName<span style="color: #ff0000;">&quot;</span>
<span style="color: #009900;">  type=&quot;</span>win32<span style="color: #ff0000;">&quot; /&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>elevate execution level<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;trustInfo</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;urn:schemas-microsoft-com:asm.v2]</span>
<span style="color: #009900;"> &lt;security&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;requestedPrivileges<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;requestedExecutionLevel</span> <span style="color: #000066;">level</span>=<span style="color: #ff0000;">&quot;requireAdministrator&quot;</span> <span style="color: #000066;">uiAccess</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/requestedPrivileges<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/security<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trustInfo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/assembly<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

</li>
<li>rinominiamolo in YourApplicationName.manifest</li>
<li>creiamo un altro file di testo e copiamoci questo:<br />
<em>1 24 &#8220;YourApplicationName.manifest&#8221;</em></li>
<li>ora rinominiamolo in YourApplicationName.RC</li>
<li>ora apriamo il cmd e da linea di comando, spostiamoci nella posizione dove sono i 2 file appena creati e digitiamo:<br />
<em>brcc32 YourApplicationName.RC -foYourApplicationName.REC</em></li>
<li>Questo crea un nuovo file di risorse dal nome YourApplicationName.REC</li>
<li>copiamo YourApplicationName.REC nella directory del programma (dove abbiamo il sorgente) o dove si trova il path di inclusione delle risorse</li>
<li>ora includiamo all&#8217;interno dell&#8217;applicazione il file di risorse digitando {$R YourApplicationName.REC}</li>
</ol>
<p>Ovviamente al posto di YourApplicationName va messo il nome della vostra applicazione.</p>
<p>Questo è tutto, ora quando avvierete il programma UAC chiederà l&#8217;autorizazione speciale cosi che il programma potrà fare tutto quello che vuole&#8230; In alternativa potete sempre convincere l&#8217;utente a disattivare UAC <img src='http://www.bisontech.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bisontech.net/tutorial/come-richiedere-i-permessi-admin-in-un-applicazione-delphi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.965 seconds -->

