Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2006, 07:25
Avatar de Myakire
Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
¿Han visto o hecho código ASP "avanzado"?

A ver, tengo una duda existencial que deseo compartir con ustedes.

Creo que Clipper es el único lenguaje de programación que puedo decir que lo dominé al 100%, digo cualquier libro de la versión que fuere (llegó hasta la 5.2 creo antes de ser fivewin) ya no tenía secretos. Pero ese es el único caso. Programé por años en Cobol y cuando creí que lo dominaba llegó a mis manos un libro de Cobol Avanzado que me puso en el suelo y redujo mi ponderación del 90% al 40% más o menos; lo mismo con Delphi y C que a mi parecer son lenguajes que mientras màs los aprendess más te das cuenta que te falta mucho por aprender . Pero ahora me intriga ASP 3.0.

A ver, pregunta para vosotros, ¿qué es lo más complejo que han visto en ASP?, por ejemplo el fpdf, el xelupload y los archivos de CR son interesantes por varios aspectos.

Los de CR usan mucho objetos dentro de sesiones, lo cual es algo "poco convencional" así como el uso del ActiveX

Código:
<%
ReportName = "Pedido.rpt"
If Not IsObject (session("oApp")) Then                              
Set session("oApp") = Server.CreateObject("CrystalRuntime.Application")
End If                                                                
Path = Request.ServerVariables("PATH_TRANSLATED")                     
While (Right(Path, 1) <> "\" And Len(Path) <> 0)                      
iLen = Len(Path) - 1                                                  
Path = Left(Path, iLen)                                               
Wend                                                                  
If IsObject(session("oRpt")) then
	Set session("oRpt") = nothing
End if
Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1)
session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
userid = "xxxx"
password = "yyyy"
session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
Set mainReportTableCollection = Session("oRpt").Database.Tables
For Each Table in mainReportTableCollection
     Table.SetLogonInfo "xxx.xxx.xxx.xxx", "yyyy", CStr(Userid), CStr(Password)
Next
Set FormulaFieldCollection = Session("oRpt").formulafields            
set session("oFFC") = FormulaFieldCollection                          
session("oFFC").Item(0).text = "'"&request.form("numreporte")&"'"
On Error Resume Next                                                  
session("oRpt").ReadRecords                                           
If Err.Number <> 0 Then                                               
  Response.Write "An Error has occured on the server in attempting to access the data source"
Else
  If IsObject(session("oPageEngine")) Then                              
  	set session("oPageEngine") = nothing
  End If
set session("oPageEngine") = session("oRpt").PageEngine
End If                                                                
%>
<!-- #include file="SmartViewerActiveX.asp" -->
El xelupload no tiene mucho salvo el uso de las funciones AscB, InStrB, MidB, etc. Y bueno, es bastante didáctico en ese sentido, aahh, y tambien usa clases como el fpdf.
Est último aparte de su sintaxis JSSS en lugar del clásico VBS hace la implementación de una extensa clase y uso de castings que aún me tiene frustado en mi intento de agregarle fuentes , ademàs el mètodo _parseJpeg no he podido aún hacerle una prueba de escritorio

Código:
	this._parseJpeg = function _parseJpeg(){
		var TEM = 0x01;	var SOF = 0xc0;	var DHT = 0xc4;	var JPGA= 0xc8
		var DAC = 0xcc;	var RST = 0xd0;	var SOI = 0xd8;	var EOI = 0xd9
		var SOS = 0xda;	var DQT = 0xdb;	var DNL = 0xdc;	var DRI = 0xdd
		var DHP = 0xde;	var EXP = 0xdf;var APP = 0xe0;	var JPG = 0xf0
		var COM = 0xfe; var marker=0;var length;
		this.id=2;
		if (this.Read(1,10)==0xff){
			while(!this.Buffer.EOS){
			marker = this.Read(1,10)
			while (marker==0xff){marker = this.Read(1,10)}
			switch(marker){
				case DHP:case SOF+0:case SOF+1:case SOF+2:case SOF+3:case SOF+5:
				case SOF+6:case SOF+7:case SOF+9:case SOF+10:case SOF+11:case SOF+13:case SOF+14:case SOF+15:
						length = this.Read(2,10)
						this.bits		= this.Read(1,10)
						this.height		= this.Read(2,10)
						this.width		= this.Read(2,10)
						this.channels	= this.Read(1,10)
						return;
				case APP+0:	case APP+1:	case APP+2:	case APP+3:case APP+4:	case APP+5:	case APP+6:	case APP+7:
				case APP+8:	case APP+9:	case APP+10:case APP+11:case APP+12:case APP+13:case APP+14:case APP+15:
				case DRI:case SOS:	case DHT:case DAC:case DNL:case EXP:
					h=this.Read(2,10)-2
					this.Buffer.Position +=  h;
					break;
				}
			}
		}
	}
Por eso les hago la pregunta nuevamente, ¿qué es lo más complejo que han visto en ASP 3.0?

Saludos!