<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2514722545579017531</id><updated>2011-12-10T18:03:41.331-08:00</updated><category term='C#'/><category term='VB .net'/><category term='C++'/><category term='Asp'/><category term='VLisp'/><category term='PPC'/><title type='text'>ArgenCODE: C/C++, VB, C#, ASP, PHP, Java, PPC, GPS, Bluetooth, Windows, código, ejemplos.</title><subtitle type='html'>Esta es una recopilación de ejemplos, o utilidades para diferentes plataformas y en diferentes lenguajes, sobre algunas cosas no tan comunes o que me costó bastante encontrar información a la hora de hacerlo, por eso me pareció interesante juntarlos en un lugar y en español.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-1975822703880252002</id><published>2007-05-29T06:45:00.000-07:00</published><updated>2007-05-29T07:55:36.514-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VLisp'/><title type='text'>Como eliminar coordenada Z de elementos (Autocad, VLisp)</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Este ejemplo muestra como poner en cero la coordenada Z de unos elementos dentro de un dibujo de AutoCAD, es decir "baja" las entidades que estén dibujadas a una altura en el eje Z y le asigna el valor "0", o en el caso de polilíneas 3d las aplana poniendole a todos sus vertices una altura 0 en Z y respentando sus coordenadas X e Y. Solo tiene en cuenta los puntos, los textos (TEXT y MTEXT), las líneas y las polilíneas. Básicamente lo que hace es hacer un conjunto por cada tipo de entidad (línea, polilínea, texto, y punto) analizar los puntos por cada uno de los elementos dentro del conjunto y redefinir cada punto poniendo en 0 su coordenada Z, en el caso de las polilíneas recorre uno por uno todos los vértices que la componen.&lt;br /&gt;El ejemplo puede mejorarse, quizás no sea la forma más óptima de hacerlo, por ejemplo podriamos hacer solo un conjunto y trabajar con todos lo elementos, pero bueno de esta manera quizás es un poco más claro, además hay que tener en cuenta que no contempla todos los elementos, como bloques, circulos, igualmente una vez que se comprende se puede agregar el tipo de elemento necesario.&lt;br /&gt;Otra cosa a tener en cuenta es que trabaja con polilíneas 3d (POLYLINE) y no con polilíneas 2d (LWPOLYLINE) ya que las polilíneas 2d están dibujadas en un plano, para bajarla podemos moverla directamente, no hace falta cambiar la coordenada Z de cada uno de sus vértices.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;defun&lt;/span&gt; c:2d&lt;span style="color: rgb(255, 0, 0);"&gt;() &lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; conj &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssget&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"x"&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;((&lt;/span&gt;0 . &lt;span style="color: rgb(204, 51, 204);"&gt;"POLYLINE"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)))) &lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/=&lt;/span&gt; conj &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;progn&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; lar &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength&lt;/span&gt; conj&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no 0&lt;span style="color: rgb(255, 0, 0);"&gt;)  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)  &lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; vert &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entnext&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; vert&lt;span style="color: rgb(255, 0, 0);"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 0 pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"SEQEND"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; coords &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car &lt;/span&gt;coords&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; coords&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmod&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;subst&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; 10 &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list &lt;/span&gt;x y 0.0&lt;span style="color: rgb(255, 0, 0);"&gt;)) (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 pto&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; vert &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entnext&lt;/span&gt; vert&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;    pto&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; vert&lt;span style="color: rgb(255, 0, 0);"&gt;)) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entupd&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;princ&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;strcat&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"\rConvirtiendo polilíneas 3d a 2d: "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; no&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;" de "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; lar&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq &lt;/span&gt;no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; 1 no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt; )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; conj &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssget&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"x"&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;((&lt;/span&gt;0 . &lt;span style="color: rgb(204, 51, 204);"&gt;"LINE"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;))))  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;;;;;;9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/=&lt;/span&gt; conj &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;progn&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; lar &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength &lt;/span&gt;conj&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq &lt;/span&gt;no 0&lt;span style="color: rgb(255, 0, 0);"&gt;) &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq &lt;/span&gt;enti &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car &lt;/span&gt;pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmod&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;subst&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; 10 &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list&lt;/span&gt; x y 0.0&lt;span style="color: rgb(255, 0, 0);"&gt;)) (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 &lt;span style="color: rgb(51, 51, 255);"&gt;enti&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;enti&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entupd&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;princ&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;strcat&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"\rConvirtiendo líneas 3d a 2d: "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; n&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;o&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;" de " &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; lar&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; 1 no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq &lt;/span&gt;no 0&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq &lt;/span&gt;enti &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 11 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmod&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;subst &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; 11 &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list&lt;/span&gt; x y 0.0&lt;span style="color: rgb(255, 0, 0);"&gt;)) (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 11 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; enti&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entupd&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;princ &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;strcat&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"\rConvirtiendo líneas 3d a 2d: "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; no&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;" de "&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; lar&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; 1 no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; conj &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssget&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"x"&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;((&lt;/span&gt;0 . &lt;span style="color: rgb(204, 51, 204);"&gt;"POINT"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/= &lt;/span&gt;conj &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;progn&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; lar &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength&lt;/span&gt; conj&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no 0&lt;span style="color: rgb(255, 0, 0);"&gt;)  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; enti &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmod&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;subst&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; 10 &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list&lt;/span&gt; x y 0.0&lt;span style="color: rgb(255, 0, 0);"&gt;)) (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; enti&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entupd&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;princ&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;strcat&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"\rBajando coordenada Z de los puntos: "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; no&lt;span style="color: rgb(255, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;" de "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; lar&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; 1 no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; conj &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssget&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"x"&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;((&lt;/span&gt;-4 . &lt;span style="color: rgb(204, 51, 204);"&gt;" &lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;)(&lt;/span&gt;0 . &lt;span style="color: rgb(204, 51, 204);"&gt;"TEXT"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)(&lt;/span&gt;0 . &lt;span style="color: rgb(204, 51, 204);"&gt;"MTEXT"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)(&lt;/span&gt;-4 . &lt;span style="color: rgb(204, 51, 204);"&gt;"or&gt;"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;))))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;span style="color: rgb(51, 51, 255);"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;f&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/= &lt;/span&gt;conj &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;progn&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; lar &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength&lt;/span&gt; conj&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no 0&lt;span style="color: rgb(255, 0, 0);"&gt;)  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; enti &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmod&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;subst&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; 10 &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list&lt;/span&gt; x y 0.0&lt;span style="color: rgb(255, 0, 0);"&gt;)) (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; 10 enti&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; enti&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entupd&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;princ&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;strcat&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;"\rBajando coordenada Z de los Textos: "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; no&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;" de "&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;itoa&lt;/span&gt; lar&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; 1 no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  )&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;;Breve comentario de las líneas marcadas&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;; 1.- se crea el conjunto con todas las entidades POLYLINE del dibujo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;; 2.- si el conjunto no está vacío calculamos el largo y vamos recorriendo uno por uno los elementos&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;; 3.- obtengo el nombre de la entidad&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;; 4.- se obtiene el primer vértice de la polilinea&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;; 5.- se recorre toda la polilinea analizando uno por uno sus vértices&lt;br /&gt;; 6.- se modifica la altura del vértice mediante el comando entmod&lt;br /&gt;; 7.- voy al siguiente vértice&lt;br /&gt;; 8.- se hace visual el cambio mediante entupd&lt;br /&gt;; 9.- se hace un nuevo conjunto, esta vez con las líneas&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-1975822703880252002?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/1975822703880252002/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=1975822703880252002' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/1975822703880252002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/1975822703880252002'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2007/05/como-eliminar-coordenada-z-de-elementos.html' title='Como eliminar coordenada Z de elementos (Autocad, VLisp)'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-1393789620040047987</id><published>2007-05-09T04:32:00.000-07:00</published><updated>2007-05-09T08:27:30.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp'/><title type='text'>Como detectar el dispositivo móvil en asp</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Algunas veces es necesario detectar si nuestra página esta siendo navegada a través de una pc o de un dispositivo móvil como una pda, ppc o smartphone y enviar al cliente a una versión apropiada para su plataforma. Este ejemplo muestra en &lt;span style="font-weight: bold;"&gt;asp&lt;/span&gt; como reconocer el dispositivo y redireccionar al cliente, si este está viendo nuestro sitio desde una pc lo manda a la página inicial del sitio, si está viendo desde una Pocket PC o PDA lo manda a una versión html más pequeña y si está navegando con un celular lo manda a una versión wap. Para esto podemos consultar los valores de las variables &lt;span style="font-weight: bold;"&gt;"HTTP_ACCEPT"&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;"HTTP_USER_AGENT"&lt;/span&gt;.&lt;br /&gt;Para obtener los valores de variables usamos &lt;span style="color: rgb(153, 51, 153);"&gt;&lt;span style="font-weight: bold;"&gt;Request.ServerVariables(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;"HTTP_ACCEPT"&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;y&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Request.ServerVariables(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;"HTTP_USER_AGENT"&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"HTTP_ACCEPT"&lt;/span&gt; sirve para avisarle al servidor el tipo de contenido que el navegador del cliente soporta y es útil para detectar los navegadores de los teléfonos celulares, que solo soportan wap. El valor devuelto por &lt;span style="font-weight: bold;"&gt;"HTTP_ACCEPT"&lt;/span&gt; para un celular con navegador wap es &lt;span style="font-weight: bold;"&gt;"text/vnd.wap.wml"&lt;/span&gt;, y para los navegadores HTML es "&lt;span style="font-weight: bold;"&gt;*/*&lt;/span&gt;" (Internet Explorer 6 e Internet Explorer 4.01 para pocket PC ) y &lt;span style="font-weight: bold;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Tahoma;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"&lt;/span&gt; (Firefox 2.0).&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;"HTTP_USER_AGENT"&lt;/span&gt; nos devuelve información acerca de el sistema operativo, la versión y el tipo de navegador del cliente y otras cosas, por lo tanto podemos saber si es una pda.&lt;br /&gt;Unos valores de &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;"HTTP_USER_AGENT" &lt;/span&gt;pueden ser:&lt;br /&gt;&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Tahoma;font-size:100%;"  &gt;&lt;span&gt;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"&lt;/span&gt; Internet Explorer 6.0,&lt;br /&gt;&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Tahoma;font-size:100%;"  &gt;&lt;span&gt;Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"&lt;/span&gt; firefox 2.0&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;,&lt;br /&gt;&lt;span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Tahoma;font-size:100%;"  &gt;&lt;span&gt;Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)"&lt;/span&gt; Pocket pc con IE 4.0.&lt;br /&gt;Entonces lo que tenemos que hacer es buscar la cadena que identifique nuestro dispositivo y redireccionar.&lt;br /&gt;&lt;br /&gt;El código sería algo como esto:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; &lt;% var &lt;span style="color: rgb(51, 102, 255);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;Request.ServerVariables&lt;/span&gt;(&lt;span style="color: rgb(0, 102, 0);"&gt;"HTTP_ACCEPT"&lt;/span&gt;)&lt;br /&gt;var2&lt;span style="color: rgb(51, 102, 255);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;Request.ServerVariables&lt;/span&gt;(&lt;span style="color: rgb(0, 102, 0);"&gt;"HTTP_USER_AGENT")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;if (&lt;/span&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;instr&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;(&lt;/span&gt;var2,&lt;span style="color: rgb(0, 102, 0);"&gt;"PPC"&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;&lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;or&lt;/span&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;instr&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;var2,&lt;span style="color: rgb(0, 102, 0);"&gt;"Windows CE"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) &lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;or&lt;/span&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;instr&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;var2,&lt;span style="color: rgb(0, 102, 0);"&gt;"PDA"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) &lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0&lt;/span&gt;  &lt;span style="color: rgb(153, 51, 153);"&gt;instr&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; or(&lt;/span&gt;var2,&lt;span style="color: rgb(0, 102, 0);"&gt;"Palm"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) &lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;or&lt;/span&gt; &lt;span style="color: rgb(153, 51, 153);"&gt;instr&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;var2,&lt;span style="color: rgb(0, 102, 0);"&gt;"BlackBerry"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) &lt;&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;Response.Redirect&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;"ppc/main.asp"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; if (&lt;/span&gt;var = &lt;span style="color: rgb(0, 102, 0);"&gt;"text/vnd.wap.wml"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;) then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153);"&gt;Response.Redirect&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;"ppc/main.wml"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 51, 204);"&gt;Response.Redirect&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;"home.htm"&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; end if&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;end if&lt;/span&gt;&lt;br /&gt;%&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Primero obtenemos el valor de las variables luego buscamos dentro de user_agent el valor correspondiente a nuestro dispositivo movil, si lo encontramos se redirecciona a la página correspondiente, si no está comprobamos si es un navegador wap, si tampoco es, se manda al cliente a la web diseñada para pc.&lt;br /&gt;Sería bueno que este código esté en la primer página que visita el cliente, así direccionamos directamente a su versión adecuada. Generalmente lo colocamos en default.asp, dentro del server.&lt;br /&gt;Los valores de dispositivos móviles que estamos buscando dentro de user_agent son los más comunes pero hay otros.&lt;br /&gt;Un ejemplo en PHP muy bueno que a mi  me sirvió bastante lo pueden encontrar &lt;a href="http://webdebolsillo.com/index.php?page/php_detectar_dispositivos_moviles"&gt;acá&lt;/a&gt;  y para la parte de los navegadores wap &lt;a href="http://www.webexperto.com/articulos/art/131/detector-de-navegadores-wap/"&gt;acá.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-1393789620040047987?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/1393789620040047987/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=1393789620040047987' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/1393789620040047987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/1393789620040047987'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2007/05/como-detectar-el-dispositivo-mvil-en.html' title='Como detectar el dispositivo móvil en asp'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-8626061104919898889</id><published>2007-03-23T07:26:00.000-07:00</published><updated>2007-03-23T09:06:59.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VLisp'/><title type='text'>Insertar un texto en un dibujo (AutoCAD, Visual Lisp)</title><content type='html'>&lt;span style="font-size:100%;"&gt;Aquellos que conocen programas de dibujo como &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;AutoCAD&lt;/span&gt;&lt;span style="font-size:100%;"&gt; o &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;MicroStation&lt;/span&gt;&lt;span style="font-size:100%;"&gt; deben saber que podemos realizar pequeñas personalizaciones o comandos personalizados, que pueden llegar a ser muy útiles y acelerar bastante el trabajo, pudiendo incluso hasta automatizar algunas tareas manuales rutinarias. Para hacer estos programas y comandos podemos utilizar el Editor de Visual Basic, y programar en VBA, hay un montón de ejemplos en la web de VBA. En el caso particular de &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;AutoCAD&lt;/span&gt;&lt;span style="font-size:100%;"&gt; podemos programar también en &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;AutoLISP&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, LISP es un lenguaje de programación de alrededor de los 60 (si mal no recuerdo) que se basa en paréntesis, y que es muy potente para algunas cosas, sobre todo para funciones recursivas. AutoCAD adoptó una versión del lenguaje llamada AutoLISP, podemos acceder al compilador a través del menu &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;tools/AutoLISP/Visual LISP&lt;/span&gt;&lt;span style="font-size:100%;"&gt; Editor, incluso AutoCAD tiene unos ejemplos y tutoriales muy buenos de este lenguaje.&lt;br /&gt;Este ejemplo está hecho en &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Visual LISP&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, es bastante sencillo, lo único que hace es buscar todas las polilíneas del dibujo, e insertar un texto que dice el layer en el cuál está dibujada la polilínea en el su punto inicial. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: times new roman;font-size:100%;" &gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;defun&lt;/span&gt; insertartexto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;pto texto layer&lt;span style="color: rgb(255, 0, 0);"&gt;)       &lt;/span&gt; &lt;span style="color: rgb(102, 0, 0);"&gt;;función que inserta el texto&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;tblsearch&lt;/span&gt; &lt;span style="color: rgb(255, 102, 102);"&gt;"LAYER"&lt;/span&gt; layer&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;command&lt;/span&gt; &lt;span style="color: rgb(255, 102, 102);"&gt;"_LAYER" "_N"&lt;/span&gt; layer &lt;span style="color: rgb(255, 102, 102);"&gt;"_C"&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;3&lt;/span&gt; layer &lt;span style="color: rgb(255, 102, 102);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; x &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; y &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;car&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;cdr&lt;/span&gt; pto&lt;span style="color: rgb(255, 0, 0);"&gt;)))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; z &lt;span style="color: rgb(0, 153, 0);"&gt;0.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(102, 0, 0);"&gt;;(setq z (car(cdr (cdr pto))))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;73&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;100&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"AcDbText"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;210 0.0 0.0 1.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;11 0.0 0.0 0.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;72&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;71&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons &lt;/span&gt;'&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;7&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"STANDARD"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;51&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;41&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;1.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; &lt;/span&gt;tx&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;50&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0.0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;1&lt;/span&gt;  texto&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;40&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;1.5&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;list&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;10&lt;/span&gt; x y z&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;100&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"AcDbText"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;6&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"Continuous"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;8&lt;/span&gt; layer&lt;span style="color: rgb(255, 0, 0);"&gt;) &lt;/span&gt;tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;410&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"Model"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;67&lt;/span&gt; . &lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;100&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"AcDbEntity"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;5&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"F290"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt; ))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cons&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;0 &lt;/span&gt;. &lt;span style="color: rgb(255, 102, 102);"&gt;"TEXT"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; tx &lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entmake&lt;/span&gt; tx&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; tx &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;;==============================================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;defun&lt;/span&gt; c:test&lt;span style="color: rgb(255, 0, 0);"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; conj  &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssget&lt;/span&gt; &lt;span style="color: rgb(255, 102, 102);"&gt;"x"&lt;/span&gt; '&lt;span style="color: rgb(255, 0, 0);"&gt;((&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt; . &lt;span style="color: rgb(255, 102, 102);"&gt;"LWPOLYLINE"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;))))                &lt;span style="color: rgb(153, 0, 0);"&gt; ;Selecciona todas las polilíneas del dibujo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;=&lt;/span&gt; conj &lt;span style="color: rgb(51, 51, 255);"&gt;nil&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;progn&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;alert&lt;/span&gt; &lt;span style="color: rgb(255, 102, 102);"&gt;"\nNo se encuentra ninguna polilínea en el dibujo"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;       (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; lar &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength&lt;/span&gt; conj&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt; no &lt;span style="color: rgb(0, 153, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;&lt;/span&gt; no lar&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; ent &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt; conj no&lt;span style="color: rgb(255, 0, 0);"&gt;))                        &lt;span style="color: rgb(153, 0, 0);"&gt; ;Selecciona una polilínea&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; pto &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;10&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))))         &lt;span style="color: rgb(153, 51, 0);"&gt;;Obtiene el primer punto de la Polilínea&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    (&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; txt &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;cdr&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;assoc&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;8&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;entget&lt;/span&gt; ent&lt;span style="color: rgb(255, 0, 0);"&gt;))))            &lt;span style="color: rgb(153, 51, 0);"&gt;;Obtiene el nombre del layer de la polilínea&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;insertartexto pto txt &lt;span style="color: rgb(255, 102, 102);"&gt;"0"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;)                          &lt;span style="color: rgb(153, 51, 0);"&gt; ;Llama a la función que inserta el texto&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;setq&lt;/span&gt; no &lt;span style="color: rgb(255, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;+&lt;/span&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;1&lt;/span&gt; no&lt;span style="color: rgb(255, 0, 0);"&gt;))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  )&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-family:arial;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);font-family:arial;" &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;El ejemplo tiene una función que se encarga de generar una entidad texto e insertarla, la función &lt;span style="font-weight: bold;"&gt;insertartexto&lt;/span&gt; recibe como parámetros el punto de inserción del texto, la cadena (el texto en si que vamos a ver) y el nombre del layer en el cual se va a insertar el texto. Si bien este ejemplo quizás es un poco avanzado para alguien que recién comienza la idea es mostrar una función un poco más profunda, ya que ejemplos simples hay en el tutorial de AutoCAD.&lt;br /&gt;Breve descripción: primero hay que cargar el comando ya sea a través del comando &lt;span style="font-weight: bold;"&gt;load&lt;/span&gt; (si tenemos todo el código en un txt) o tipeandolo en el editor VisualLisp  y  usando el boton &lt;span style="font-weight: bold;"&gt;load active window&lt;/span&gt; .Una vez que tenemos el comando en memoria para ejecutarlo hay que tipear &lt;span style="font-weight: bold;"&gt;test&lt;/span&gt;.&lt;br /&gt;Lo primero que hace es un conjunto con todas las polilíneas del dibujo mediante la función &lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;ssget&lt;/span&gt;, luego con &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;sslength&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;  obtenemos el  largo de este conjunto, establecemos un contador en cero y con un bucle &lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;while&lt;/span&gt;&lt;/span&gt; recorremos una por una las polilíneas del conjunto, asignando la actual a una variable llamada ent a través de la función &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;ssname&lt;/span&gt;. De la polilínea actual obtenemos el nombre del layer y su primer punto, luego llamamos a la función &lt;span style="font-weight: bold;"&gt;insertartexto&lt;/span&gt;  mandandole como parametros el punto de inserción, el texto en si y el layer en el que se va a insertar.&lt;br /&gt;La función&lt;span style="font-weight: bold;"&gt; insertartexto&lt;/span&gt; utiliza &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;entmake&lt;/span&gt; para generar el texto, previamente cargamos todos sus atributos en una lista. Cualquier duda o por algún otro ejemplo del tema pueden escribir &lt;a href="mailto:victordmart@gmail.com"&gt;acá&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="color: rgb(255, 0, 0);font-family:arial;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-8626061104919898889?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/8626061104919898889/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=8626061104919898889' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/8626061104919898889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/8626061104919898889'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2007/03/insertar-un-texto-en-un-dibujo-autocad.html' title='Insertar un texto en un dibujo (AutoCAD, Visual Lisp)'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-7341842495672465423</id><published>2006-12-14T04:48:00.000-08:00</published><updated>2006-12-19T07:07:43.610-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='VB .net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Instalar SQL Server Mobile edition en la PDA</title><content type='html'>Esta es una breve explicación de como instalar &lt;span style="font-weight: bold;"&gt;SQL Server 2005 Mobile edition&lt;/span&gt; en el dispositivo móvil para poder desarrollar alguna aplicación con base de datos. Dependiendo de la versión de &lt;span style="font-weight: bold;"&gt;Visual Studio 2005&lt;/span&gt; que tengamos puede que &lt;span style="font-weight: bold;"&gt;SQL Server Mobile&lt;/span&gt; venga o no incluido  (creo que SQL Server solo viene en las versiones pro o superiores), si viene incluido los más probable es que esté en el directorio "&lt;span style="font-weight: bold;"&gt;C:\Archivos de programa\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\Sqlce30setupen.msi&lt;/span&gt;" (suponiendo que Visual Studio esté instalado en la ubicación por defecto),  si no lo tenemos podemos descargarlo &lt;a href="http://www.microsoft.com/sql/editions/sqlmobile/default.mspx"&gt;acá&lt;/a&gt; (el archivo es algo así como Sqlce30setupen.msi).&lt;br /&gt;&lt;br /&gt;La instalación en la pc es sencilla tiene unos requerimientos de Software como &lt;span style="font-weight: bold;"&gt;Windows 2000 SP4&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Windows XP SP2&lt;/span&gt; o &lt;span style="font-weight: bold;"&gt;Windows 2003&lt;/span&gt;, obviamente una cuenta con privilegios de administrador,  &lt;span style="font-weight: bold;"&gt;.NET framework 2.0 &lt;/span&gt;(si tenemos instalado &lt;span style="font-weight: bold;"&gt;Visual Studio 2005&lt;/span&gt; ya está instalado), &lt;span style="font-weight: bold;"&gt;MDAC 2.7&lt;/span&gt; para el acceso a datos, además los servicios de &lt;span style="font-weight: bold;"&gt;IIS&lt;/span&gt;, y Replication components de &lt;span style="font-weight: bold;"&gt;SQL Server 2000 SP3&lt;/span&gt; o &lt;span style="font-weight: bold;"&gt;SQL Server 2005&lt;/span&gt; (para poder replicar con la base de datos de la pda) .&lt;br /&gt;Luego de instalado esto tendremos en nuestro grupo de programas una carpeta llamada "&lt;span style="font-weight: bold;"&gt;SQL Server 2005 Mobile edition&lt;/span&gt;" que contiene "&lt;span style="font-weight: bold;"&gt;SQL Mobile books online&lt;/span&gt;", está es toda la referencia de programación para VB, C# y C++.&lt;br /&gt;&lt;br /&gt;La instalación en la PDA dependerá del lenguaje en el que vamos a desarrollar, si trabajamos con Visual Basic o C#, la instalación es automática, solo necesitamos incluir en nuestro proyecto las referencias a &lt;span style="font-weight: bold;"&gt;System.Data.SQLClient&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;System.Data.SQLServerCe&lt;/span&gt; para esto en el menú elegimos la opción "Project/add reference" y las seleccionamos de la solapa &lt;span style="font-weight: bold;"&gt;.NET&lt;/span&gt;, si no aparecen podemos ver como encontralas &lt;a href="http://msdn2.microsoft.com/en-gb/library/ms174628.aspx"&gt;acá&lt;/a&gt;.&lt;br /&gt;Luego al comienzo de  nuestro formulario incluimos la directiva para usar el namespace&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;En VB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Imports&lt;/span&gt; System.Data.SqlClient&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Imports&lt;/span&gt; System.Data.SqlServerCe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;En C#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;using&lt;/span&gt; System.Data.SqlClient;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;using&lt;/span&gt; System.Sata.SqlServerCe;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y listo, cuando ejecutemos la aplicación (aunque solo tenga un formulario vacío) instalará &lt;span style="font-weight: bold;"&gt;Compact Framework&lt;/span&gt; si es que no está instalado y luego &lt;span style="font-weight: bold;"&gt;SQL Server Mobile&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Si trabajamos con C++, &lt;span style="font-weight: bold;"&gt;SQL Server mobile&lt;/span&gt; no se instala en forma automática , para ello debemos  copiar los archvivos &lt;span style="font-weight: bold;"&gt;sqlce30.dev.ENU.ppc.wce4.armv4.CAB&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;sqlce30.ppc.wce4.armv4.CAB&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;sqlce30.repl.ppc.wce4.armv4.CAB&lt;/span&gt; que están en la carpeta "C:\Archivos de programa\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\wce400\armv4" (la ubicación puede variar dependiendo de la plataforma de nuestra PDA y su procesador, genéricamente la ruta sería "C:\Archivos de programa\Microsoft Visual Studio 8\SmartDevices\SDK\SQL  Server\Mobile\v3.0\plataforma&lt;i&gt;&lt;platform&gt;&lt;/platform&gt;&lt;/i&gt;\procesador&lt;i&gt;&lt;processor&gt;&lt;/processor&gt;&lt;/i&gt;\" ) en la PDA y luego ejecutarlos en esta, los archivos deben estar en la memoria principal, no se puede instala SQL Server Mobile en una tarjeta de memoria, pero si almacenar ahí las bases de datos.&lt;br /&gt;&lt;br /&gt;Luego de ejecutados los archivos ya está instalado SQL server, podemos ver además el &lt;span style="font-weight: bold;"&gt;Query Analyze&lt;/span&gt; que nos permite crear bases de datos y manipularlas.&lt;br /&gt;&lt;a href="http://http//www.microsoft.com/sql/editions/sqlmobile/default.mspx"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-7341842495672465423?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/7341842495672465423/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=7341842495672465423' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/7341842495672465423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/7341842495672465423'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2006/12/instalar-sql-server-mobile-edition-en.html' title='Instalar SQL Server Mobile edition en la PDA'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-4357897998751463429</id><published>2006-11-30T09:53:00.000-08:00</published><updated>2006-11-30T10:39:34.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Leer un archivo de texto en C++, en una PDA</title><content type='html'>Este ejemplo tiene una función que abre un archivo de texto, lo lee y carga las líneas leídas en un Listbox, está hecho en C++, con VS 2005, para una PDA con Windows Mobile 2003 SE, pero funciona bien para una aplicación Windows de escritorio. La función es muy básica, simplemente abre el archivo usando &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_crt_fopen.2c_._wfopen.asp"&gt;_wfopen&lt;/a&gt;, lee los primeros nueve registros con &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_fread.asp"&gt;fread&lt;/a&gt; y va cargando el Listbox, usando la función &lt;a href="http://msdn2.microsoft.com/en-us/library/ms644950.aspx"&gt;SendMessage&lt;/a&gt;. Falta hacer un par de cosas, como verificar errores y leer el archivo hasta su fin o retornar valores para saber el resultado, pero bueno el objetivo es mostrar como abrir y leer el archivo y además las conversión entre cadenas de ancho fijo y multibyte.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:lucida grande;" &gt;//****************************************************&lt;br /&gt;//llamada a la función en el bucle de mensajes&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;case&lt;/span&gt; ID_MEN32782:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                    CargarLista(List1); &lt;span style="color: rgb(0, 102, 0);"&gt;//List1 es el handle del list box&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                   &lt;span style="color: rgb(51, 51, 255);"&gt; break&lt;/span&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;//****************************************************&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-family:lucida grande;" &gt;//función&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;void &lt;/span&gt;CargarLista(HWND Lista){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    FILE *stream;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    &lt;span style="color: rgb(51, 51, 255);"&gt;wchar_t&lt;/span&gt; buff[20]={};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    &lt;span style="color: rgb(51, 51, 255);"&gt;char&lt;/span&gt; buf[20]={};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    HWND hWnd;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;   &lt;span style="color: rgb(51, 51, 255);"&gt; if&lt;/span&gt;( (stream  = _wfopen( L"&lt;span style="color: rgb(153, 0, 0);"&gt;Storage Card\\Mis Doc\\arch.txt&lt;/span&gt;", L"&lt;span style="color: rgb(153, 0, 0);"&gt;r&lt;/span&gt;" )) == NULL )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;        MessageBox(hWnd, L"&lt;span style="color: rgb(153, 0, 0);"&gt;No se puede abrir el arvhivo&lt;/span&gt;",   L"&lt;span style="color: rgb(153, 0, 0);"&gt;ERROR:&lt;/span&gt;", MB_ICONERROR | MB_OK);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    &lt;span style="color: rgb(51, 51, 255);"&gt;for &lt;/span&gt;(&lt;span style="color: rgb(51, 51, 255);"&gt;int&lt;/span&gt; i=0;i&lt;8;i++)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;        fread( buf, &lt;span style="color: rgb(51, 51, 255);"&gt;sizeof&lt;/span&gt;(&lt;span style="color: rgb(51, 51, 255);"&gt;char&lt;/span&gt;), 17, stream ); &lt;span style="color: rgb(0, 153, 0);"&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;//fread devuelve el resultado char (multibyte)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;        mbstowcs( buff, buf, 16); &lt;span style="color: rgb(0, 102, 0);"&gt;//mbstowcs lo convierte a wchar_t (unicode), se desprecia el último byte porque es el salto de línea &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;        SendMessage(Lista, LB_ADDSTRING, 0, (LPARAM)buff);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    fclose(stream);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    &lt;span style="color: rgb(51, 51, 255);"&gt;delete&lt;/span&gt; []buff;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;    &lt;span style="color: rgb(51, 51, 255);"&gt;delete &lt;/span&gt;[]buf;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-4357897998751463429?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/4357897998751463429/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=4357897998751463429' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/4357897998751463429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/4357897998751463429'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2006/11/leer-un-archivo-de-texto-en-c-en-una.html' title='Leer un archivo de texto en C++, en una PDA'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-621676861445729142</id><published>2006-11-29T10:30:00.000-08:00</published><updated>2006-11-29T10:42:30.878-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='VB .net'/><title type='text'>Conectarse a una BD en SQL server mobile con VB .net</title><content type='html'>Este ejemplo está programado en Visual Studio 2005, en Visual Basic para una PDA, lo que hace es conectarse a una base de datos SQL server mobile, hacer una consulta y llenar un datagrid con los resultados. Es necesario que esté instalado en la PDA SQL Server. En este caso la consulta se hace en el momento en que se instancia el formulario, por lo tanto cuando aparece ya está el datagrid cargado con los resultados.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;&lt;span style="font-family: lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Private&lt;/span&gt; sqlConn &lt;span style="color: rgb(51, 51, 255);"&gt;As&lt;/span&gt; System.Data.SqlServerCe.SqlCeConnection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;     &lt;span style="color: rgb(51, 51, 255);"&gt;Private&lt;/span&gt; sqlDA &lt;span style="color: rgb(51, 51, 255);"&gt;As&lt;/span&gt; System.Data.SqlServerCe.SqlCeDataAdapter&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;     &lt;span style="color: rgb(51, 51, 255);"&gt;Private&lt;/span&gt; sqlDS &lt;span style="color: rgb(51, 51, 255);"&gt;As&lt;/span&gt; System.Data.DataSet&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;     &lt;span style="color: rgb(51, 51, 255);"&gt;Public Sub New&lt;/span&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         &lt;span style="color: rgb(51, 51, 255);"&gt;MyBase&lt;/span&gt;.New()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         &lt;span style="color: rgb(0, 102, 0);"&gt;'This call is required by the Windows Form Designer.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         InitializeComponent()&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         DataGrid1.BackgroundColor = Color.White&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         &lt;span style="color: rgb(51, 51, 255);"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             sqlDS = &lt;span style="color: rgb(0, 0, 153);"&gt;New&lt;/span&gt; DataSet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             sqlConn = &lt;span style="color: rgb(51, 51, 255);"&gt;New&lt;/span&gt; SqlCeConnection("&lt;span style="color: rgb(153, 51, 0);"&gt;Data Source='Storage  Card\SQL\BD.sdf'&lt;/span&gt;")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             sqlDA = &lt;span style="color: rgb(51, 51, 255);"&gt;New&lt;/span&gt; SqlCeDataAdapter("&lt;span style="color: rgb(153, 51, 0);"&gt;SELECT nro, cliente, fcom AS Fecha FROM tabla1&lt;/span&gt;", sqlConn)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             sqlDA.Fill(sqlDS, "&lt;span style="color: rgb(153, 51, 0);"&gt;Sini&lt;/span&gt;")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             DataGrid1.DataSource = sqlDS.Tables("&lt;span style="color: rgb(153, 51, 0);"&gt;Sini&lt;/span&gt;")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;         &lt;span style="color: rgb(51, 51, 255);"&gt;Catch&lt;/span&gt; err &lt;span style="color: rgb(51, 51, 255);"&gt;As&lt;/span&gt; SqlCeException&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;             MsgBox("&lt;span style="color: rgb(153, 51, 0);"&gt;No se puede abrir la base de datos, verifique la tarjeta de memoria&lt;/span&gt;", MsgBoxStyle.Critical)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande;"&gt;            &lt;span style="color: rgb(51, 51, 255);"&gt; Exit Sub&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande; color: rgb(51, 51, 255);"&gt;         End Try&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: lucida grande; color: rgb(51, 51, 255);"&gt;     End Sub &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-621676861445729142?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/621676861445729142/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=621676861445729142' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/621676861445729142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/621676861445729142'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2006/11/conectarse-una-bd-en-sql-server-mobile.html' title='Conectarse a una BD en SQL server mobile con VB .net'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-6446807163777881418</id><published>2006-11-29T08:03:00.000-08:00</published><updated>2006-11-29T09:30:08.526-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Leer datos del GPS bluetooth en una PDA en C++</title><content type='html'>Este código tiene una función que lee los datos enviados por un GPS Bluetooth en una PDA con Windows Mobile 2003 SE, está desarrollado en C++  con VS 2005.&lt;br /&gt;En este caso particular el GPS no está integrado en la PDA envía los datos en formato NMEA a través de una conexión Bluetooth. Al puerto Bluetooth lo podemos leer como un puerto COM más, solo tenemos que saber de antemano cual es el número de los puertos COM de entrada y de salidada del Bluetooth. Esto podemos hacerlo leyendo el registro de la PDA, en mi caso particular es el "COM5:". Una vez que conocemos el puerto que tiene la función de Bluetoot in, leemos los datos con la función &lt;a href="http://http//msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/readfile.asp"&gt;ReadFile&lt;/a&gt;  como con  cualquier puerto COM en la PDA o en Windows. La función lee los datos almacenados en el puerto, estableciendo previamente algunos &lt;a href="http://msdn2.microsoft.com/en-us/library/aa363201.aspx"&gt;parámetros como velocidad, timeouts y buffers&lt;/a&gt;, luego falta procesar los datos obtenidos (en este caso los datos vienen en formato NMEA, hay que procesarlos para obtener los valores de Latitud, Longitud, cantidad de satélites, etc). De la misma manera podemos utilizar esta función o alguna similar para obtener los datos de cualquier dispositivo que envíe a un puerto COM, ya sea en el dispositivo móvil o en nuestra aplicación Windows.&lt;br /&gt;Este es solo un ejemplo, estableciendo algunos valores solo para mostrar como se hace, y guardando los resultados obtenidos en un array local, sin procesarlos luego, es probable que haya que hacerle algunos retoques a la hora de ponerlo en práctica en un programa real.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;/&lt;span style="color: rgb(0, 102, 0);"&gt;*en la parte de definiciones*/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;bool&lt;/span&gt; PuertoCom(&lt;span style="color: rgb(51, 51, 255);"&gt;wchar_t&lt;/span&gt; *Port);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:lucida grande;" &gt;/*Para llamar la función, por ejemplo al hacer clic en algún botón*/&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;bool&lt;/span&gt; result;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;result = PuertoCom(L"&lt;span style="color: rgb(153, 0, 0);"&gt;COM5:&lt;/span&gt;");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;          if&lt;/span&gt; (result == &lt;span style="color: rgb(51, 51, 255);"&gt;true&lt;/span&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;                MessageBox(hWnd, L"&lt;span style="color: rgb(153, 51, 0);"&gt;Se leyeron los datos del puerto&lt;/span&gt;",   L"&lt;span style="color: rgb(153, 0, 0);"&gt;OK:&lt;/span&gt;", MB_ICONINFORMATION | MB_OK);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;            }&lt;span style="color: rgb(51, 51, 255);"&gt;else&lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;                MessageBox(hWnd, L"&lt;span style="color: rgb(153, 51, 0);"&gt;No se puede abrir, leer el puerto&lt;/span&gt;",   L"&lt;span style="color: rgb(153, 51, 0);"&gt;ERROR:&lt;/span&gt;", MB_ICONERROR | MB_OK);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;            }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/*Implementación de la función*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;bool&lt;/span&gt; PuertoCom(&lt;span style="color: rgb(51, 51, 255);"&gt;wchar_t&lt;/span&gt; *Port){&lt;br /&gt;&lt;br /&gt;HANDLE PCom;&lt;br /&gt;OVERLAPPED ov;&lt;br /&gt;DCB dcb;&lt;br /&gt;COMMTIMEOUTS to;&lt;br /&gt;DWORD x;&lt;br /&gt;COMSTAT cs;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    char&lt;/span&gt; tmp[1024];&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    wchar_t&lt;/span&gt; buf[1024];&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//abrir el puerto&lt;/span&gt;&lt;br /&gt;PCom = CreateFile(Port, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);&lt;br /&gt;if(PCom ==INVALID_HANDLE_VALUE)    &lt;span style="color: rgb(51, 51, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//Obtener los timeouts actuales del puerto&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    if &lt;/span&gt;(GetCommTimeouts(PCom, &amp;to) == 0) &lt;span style="color: rgb(51, 51, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//Setear timeouts en el puerto&lt;/span&gt;&lt;br /&gt;to.ReadIntervalTimeout         = MAXDWORD;&lt;br /&gt;to.ReadTotalTimeoutMultiplier  = 0;&lt;br /&gt;to.ReadTotalTimeoutConstant    = 0;&lt;br /&gt;to.WriteTotalTimeoutMultiplier = 0;&lt;br /&gt;to.WriteTotalTimeoutConstant   = 0;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    if &lt;/span&gt;(SetCommTimeouts(PCom, &amp;to) == 0)&lt;span style="color: rgb(51, 51, 255);"&gt; return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; //setear buffers del puerto&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    if &lt;/span&gt;(SetupComm(PCom, 1024, 1024) == 0) &lt;span style="color: rgb(51, 51, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt; //Obtener estado del puerto&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     if &lt;/span&gt;(GetCommState(PCom, &amp;dcb) == 0) &lt;span style="color: rgb(51, 51, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//Setear estado del puerto&lt;/span&gt;&lt;br /&gt;dcb.BaudRate =    (DWORD)38400;    &lt;span style="color: rgb(0, 102, 0);"&gt;//Velocidad;&lt;/span&gt;&lt;br /&gt;dcb.ByteSize =    (BYTE)8;       &lt;span style="color: rgb(0, 102, 0);"&gt; //NBits;&lt;/span&gt;&lt;br /&gt;dcb.Parity =    (BYTE)0;       &lt;span style="color: rgb(0, 102, 0);"&gt; //Paridad;&lt;/span&gt;&lt;br /&gt;dcb.StopBits =    (BYTE)1;        &lt;span style="color: rgb(0, 102, 0);"&gt;//StopBits;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     if&lt;/span&gt; (SetCommState(PCom, &amp;dcb) == 0) &lt;span style="color: rgb(51, 51, 255);"&gt;return false&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//Leer datos del puerto&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;     if &lt;/span&gt;(ReadFile(PCom, tmp, 1024, &amp;x, &amp;amp;ov) != 0){ &lt;span style="color: rgb(0, 102, 0);"&gt;//almacenamos en tmp los datos leídos del puerto&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;int&lt;/span&gt; a = strlen(tmp);&lt;br /&gt;BSTR unicodestr = SysAllocStringLen(NULL, a);&lt;br /&gt;::MultiByteToWideChar(CP_ACP, 0, tmp, a, unicodestr, a);&lt;br /&gt;wcscpy(buf ,unicodestr);  &lt;span style="color: rgb(0, 102, 0);"&gt; //convertir la cadena char devuelta por ReadFile en wschar_t &lt;/span&gt;&lt;br /&gt;::SysFreeString(unicodestr);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;//Cerrar puerto com&lt;/span&gt;&lt;br /&gt;SetCommMask(PCom, 0);&lt;br /&gt;CloseHandle(PCom);&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; return true&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-6446807163777881418?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/6446807163777881418/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=6446807163777881418' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/6446807163777881418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/6446807163777881418'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2006/11/leer-datos-del-gps-bluetooth-en-una-pda.html' title='Leer datos del GPS bluetooth en una PDA en C++'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2514722545579017531.post-2862321839013098446</id><published>2006-11-28T10:34:00.000-08:00</published><updated>2006-11-29T09:13:44.445-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Ejecutar un programa externo desde aplicación C++ para PPC</title><content type='html'>&lt;span style=";font-family:times new roman;font-size:100%;"  &gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:arial;"&gt;En este ejemplo vemos como iniciar un programa externo, en C++ desde nuestra aplicación, el ejemplo está programado en VS 2005 para una Pocket PC con "Windows Mobile 2003 SE", en este caso se ejecuta el programa de la cámara de fotos, pero funciona con otros programas por ejemplo el solitario (solitare.exe, por si están trabajando en una que no tenga cámara). Lo hacemos a través de la función &lt;a href="http://http//msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecuteex.asp"&gt;ShellExecuteEx&lt;/a&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;name&gt;&lt;/name&gt;&lt;span style=";font-family:times new roman;font-size:100%;"  &gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:arial;"&gt;Es necesario incluir la librería shellapi.h para que funcione, en este caso particular el programa de la cámara se ejecuta cuando se presiona un botón en un formulario por lo tanto está dentro del bucle de mensajes del formulario.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/*en las declaraciones*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;#include &lt;span style="color: rgb(153, 0, 0);"&gt;&lt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-family:times new roman;font-size:100%;"  &gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:arial;"&gt;shellapi.h &gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:times new roman;font-size:100%;"  &gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;shellapi.h&gt;&lt;/shellapi.h&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/*en el bucle de mensajes del formulario o la ventana*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;case&lt;/span&gt; IDC_BUTTON3:&lt;br /&gt;  SHELLEXECUTEINFO lpExecInfo;&lt;br /&gt;&lt;br /&gt;  memset(&amp;lpExecInfo, 0, sizeof(SHELLEXECUTEINFO));&lt;br /&gt;  lpExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);&lt;br /&gt;  lpExecInfo.lpFile = L"&lt;span style="color: rgb(153, 51, 0);"&gt;\\Windows\\camera.exe&lt;/span&gt;";&lt;br /&gt;  lpExecInfo.nShow = SW_SHOWNORMAL;&lt;br /&gt;  lpExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;&lt;br /&gt;&lt;br /&gt;  ShellExecuteEx(&amp;lpExecInfo);&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2514722545579017531-2862321839013098446?l=argencode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://argencode.blogspot.com/feeds/2862321839013098446/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2514722545579017531&amp;postID=2862321839013098446' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/2862321839013098446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2514722545579017531/posts/default/2862321839013098446'/><link rel='alternate' type='text/html' href='http://argencode.blogspot.com/2006/11/ejecutar-un-programa-externo-desde.html' title='Ejecutar un programa externo desde aplicación C++ para PPC'/><author><name>Vic</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
