-
Posts
128 -
Joined
-
Last visited
-
Days Won
4
Everything posted by susodicho
-
ejercicio con visual basic 2008
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: ¿No se supone que MsgBox devuelve MsgBoxResult? Además si preguntas "¿Desea cargar otro libro?", sería más lógico que hubiese botones "Sí" y "No", en vez de "Aceptar" y "Cancelar"... Lo otro es que estás usando mal el ArrayList, éste debes usarlo para guardar objetos de la clase Libro, tú lo estás usando para guardar los atributos de los objetos, o sea, si el usuario ingresó un solo libro, el ArrayList ya va a tener 3 elementos, pero sólo debería tener 1. O sea, lo correcto es: n libros ingresados, significan n elementos en el ArrayList. Otras cosas: Creo que deberías verificar que al menos un cuadro de texto tenga algo, supongo que un libro debe tener al menos título... :mmm:No estoy seguro si será buena idea mostrar todos los libros que se han ingresado mostrando un MsgBox por cada libro. Creo que sería mejor usar un ListBox -
ejercicio con visual basic 2008
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
Como te dije antes, tiene que ser dentro del formulario. Si quieres puedes declararlo explícitamente como Private... Public Class Form1 Private algo As ArrayList Dim fome As ArrayList ' etc. End Class Public Class Libro ' etc. End Class -
ejercicio con visual basic 2008
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
El constructor es parte de la clase :tonto: . Por lo que entiendo, te piden que hagas una clase de una forma básica y después le vas agregando cosas. O sea: Definir la clase Libro (sin constructor ni destructor)Realizar una aplicación en que la información de cada libro se ingrese usando los métodos Get y Set, o sea, usando las propiedades de la clase (ya que no hay constructor). En realidad, creo que si se ingresa información para varios libros, simplemente irías remplazando la información usando el método Set... :mmm:Ahora hay de declarar un ArrayList que contega objetos de tipo Libro y hay que hacer lo mismo que en el punto anterior, sólo que ahora se pueden ingresar varios libros (se los vas agregando al ArrayList)Agregar el constructor y destructor a la clase Libro que creaste en el punto 1 y que has estado ocupando hasta ahora.Resumiendo, tú tienes que crear la clase Libro y después debes usar la clase ArrayList para guardar varios objetos de la clase Libro. Échale una mirada a los ejemplos de MS. En el ejemplo le agrega cadenas (Strings) a un ArrayList, pero la idea es la misma. Por si acaso, estoy asumiendo que es una aplicación Windows Forms...podría ser una aplicación en modo consola -
ejercicio con visual basic 2008
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
sip la verdad que lo hice en la clase, y entonces para que se supone que uso la clase si la informacion la voy a almacenar en el array del formulario??? esas cosas me enrredan, para que ocuparia una clase? yo pense que era para almacenar cosas o algo asi La clase Libro sí la usas para guardar información, almacena la información (título, autor, editorial,...) de 1 libro, pero si quieres guardar la información de varios libros vas a necesitar alguna estructura que sea capaz de almacenar varios de estos objetos y, generalmente, vas a usar un arreglo o alguna clase ya creada (ArrayList, List, Stack, Queue,...), aunque nada te impide crear tu propia clase que sirva para guardar libros. O sea, podrías crear una clase Biblioteca que tenga un método Agregar que recibiría como parámetro un objeto de la clase Libro. Dim misLibros As New Biblioteca() misLibros.Agregar(New Libro("Mis peores poemas", "Pablo Mistral", "Editorial Santos Llana")) misLibros.Agregar(New Libro("La metamorfosis", "Franz Kafka", "Dudosa procedencia")) -
ejercicio con visual basic 2008
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
Dándole un vistazo a la rápida, el ArrayList se supone que no va en la clase Libro (tú lo pusiste como atributo). El ArrayList es para formar una colección de libros, así que el ArrayList lo declararías en algún formulario en donde vas a pedirle al usuario que ingrese libros, o sea, vas a crear un ArrayList que contendrá objetos de tipo Libro. -
guardar mes y año en mysql con VBnet
susodicho replied to bombero_7's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: Dependiendo de lo que estés haciendo, quizás ni siquiera necesites guardarlo como fecha. Podrías guardar el mes y año como un entero. Por ejemplo, la fecha de hoy (12/07/2013) la podrías guardar como 201307. O sea, usando el formato AAAAMM (4 dígitos para el año y 2 dígitos para el mes; nótese que hay que anteponer un cero para meses anteriores a octubre). Para ingresar esta "fecha corta" puedes usar algo como (es sólo un ejemplo): consultaSQL = "INSERT INTO pago(fecha_primer_pago,cuotas) VALUES(" & String.Format("{0:D4}{1:D2}", DateTimePicker1.Value.Year, DateTimePicker1.Value.Month) & ",3)" En este ejemplo, el campo fecha_primer_pago sería de tipo entero.Como no sé qué estás haciendo o para qué se usan estas fechas cortas, quizás te podrían servir las funciones PERIOD_ADD y PERIOD_DIFF (por si necesitas saber la cantidad de meses que han pasado entre dos fechas). Ahora, si realmente necesitas usar el tipo DATE, yo creo que simplemente le pones el día 1 a todas de estas fechas. Recuerda que las fechas, en general, se expresan de la forma 'AAAA-MM-DD' ;) -
Creo que tendrías que desarrollar una aplicación WPF, así puedes usar la funcionalidad de espacio de nombres System.Printing. Obviamente, eso significa que tu aplicación deberá usar .NET 3.0 o superior (no creo que eso sea problema). Se supone que de esta forma no tendrías que recurrir a utilidades o controles ActiveX del fabricante, sino que te comunicas directamente con el servidor de impresión. En la página de MS hay algunos ejemplos de cómo realizar algunas tareas comunes: Listar cola de impresiónVer estado (no hay papel, queda poca tinta, hoja atascada, etc.)Échale una mirada a las propiedades de la clase PrintSystemJobInfo (puedes saber, por ejemplo, cuántas páginas se han impreso hasta el momento).
- 8 replies
-
- Aplicacion para gestionar imp
- impresora
-
(and 1 more)
Tagged with:
-
:mmm: Suponiendo que estés usando el evento SelectedIndexChanged, aquí hay un ejemplo que muestra los elementos seleccionados en un cuadro de texto (TextBox): private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e) { string s = ""; foreach(object item in checkedListBox1.CheckedItems) s += checkedListBox1.GetItemText(item) + " "; textBox1.Text = s; } O sea, para saber cuáles son todos los elementos que están seleccionados tienes que usar la propiedad CheckedItems ;)
-
IDE es del año del cuete, supongo que esta opción todavía aparece más que nada por cuestiones de compatibilidad con dispositivos antiguos (o para los que quieren instalar Windows XP en computadores actuales :tonto: ). Así que deberías elegir AHCI (sobre todo porque el disco es SATA3, o sea, de los más nuevos). De todas formas, échale una mirada a esta página. También revisa esta página (fíjate en la adventencia que aparece).
-
Necesitas un PrintDialog y un PrintDocument. Debes asociar ambos usando la propiedad Document del PrintDialog, es decir, a la propiedad Document le asignas el objeto PrintDocument. [hide] ADVERTENCIA: Puede que el PrintDialog no funcione bien en equipos 64 bits. Para evitar problemas tienes 2 opciones: Compila tu proyecto como x86.Asegúrate que la propiedad UseEXDialog del PrintDialog sea true (o sea, usa esta opción si la plataforma de destino es x64 ó AnyCPU).Para iniciar la impresión, generalmente haces algo similar a esto:if (printDialog1.ShowDialog() == DialogResult.OK) printDocument1.Print(); [/hide] El método Print inicia el proceso de impresión de forma asíncrona. Después tienes que "dibujar" todo lo que quieras que aparezca en la página usando un manejador del evento PrintPage del objeto PrintDocument (el evento PrintPage es iniciado por el método Print). Ahora, la manera en que "dibujas" el contenido de la página en Windows Forms es bastante rudimentaria, simplemente "dibujas" sobre un objeto Graphics, es decir, generalmente vas a usar los métodos Draw... de esta clase. Ojo, la clase PrintDocument tiene una propiedad booleana llamada OriginAtMargins; si es true la coordenada (0,0) será la esquina superior izquierda del área imprimible de la hoja, si es false la coordenada (0,0) será la esquina superior izquierda de la hoja. O sea: OriginAtMargins = true: Para mantenerte dentro de los márgenes del documento usas las propiedades Width y Height de MarginBounds, además las coordenadas x e y deben ser mayores o iguales a cero (si son negativas te sales de los márgenes izquierdo y/o superior del documento).OriginAtMargins = false: Para mantenerte dentro de los márgenes del documento usas las propiedades Left, Top, Right, Bottom de MarginBounds. Por ejemplo, el solo hecho usar coordenadas x mayores a cero no te garantiza que estés dentro de los márgenes , deben ser mayores o iguales a MarginBounds.Left.Aquí hay un ejemplo del manejador del evento PrintPage. Son 2 versiones, para que veas cómo respetar los márgenes del documento dependiendo del valor de la propiedad OriginAtMargins:[hide] OriginAtMargins = false private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { string texto; float x, y, x0, alturaLinea; int i; using (Font fuente = new Font("Verdana", 24)) { // Posicionar el "cursor" para empezar a imprimir x = e.MarginBounds.Left; y = e.MarginBounds.Top; // Alto de línea (para texto) alturaLinea = fuente.GetHeight(e.Graphics); for (i = 1; i <= 5; i++) { if (i % 2 == 0) { texto = "Justificado a la derecha (" + i.ToString(); x0 = e.MarginBounds.Right - e.Graphics.MeasureString(texto, fuente).Width; } else { texto = i.ToString() + ") Justificado a la izquierda"; x0 = x; } e.Graphics.DrawString(texto, fuente, Brushes.Black, x0, y); // Pasar a la siguiente línea y += alturaLinea; } y += alturaLinea; // Dibujar una imagen centrada e.Graphics.DrawImage(Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"), new RectangleF(x + e.MarginBounds.Width / 2 - 160, y, 320, 240)); y += 270; texto = "Imagen centrada"; using (Font fnt = new Font("Courier New", 18, FontStyle.Bold)) { e.Graphics.DrawString(texto, fnt, Brushes.ForestGreen, x + (e.MarginBounds.Width - e.Graphics.MeasureString(texto, fnt).Width) / 2, y); texto = "Hasta aquí no más llegamos"; e.Graphics.DrawString(texto, fnt, Brushes.Tomato, x + (e.MarginBounds.Width - e.Graphics.MeasureString(texto, fnt).Width) / 2, e.MarginBounds.Bottom - fnt.GetHeight(e.Graphics)); } e.Graphics.DrawLine(Pens.DarkOrange, x, e.MarginBounds.Bottom, e.MarginBounds.Right, e.MarginBounds.Bottom); } } OriginAtMargins = true private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { string texto; float x, y, x0, alturaLinea; int i; using (Font fuente = new Font("Verdana", 24)) { // Posicionar el "cursor" para empezar a imprimir x = 0; y = 0; // Alto de línea (para texto) alturaLinea = fuente.GetHeight(e.Graphics); for (i = 1; i <= 5; i++) { if (i % 2 == 0) { texto = "Justificado a la derecha (" + i.ToString(); x0 = e.MarginBounds.Width - e.Graphics.MeasureString(texto, fuente).Width; } else { texto = i.ToString() + ") Justificado a la izquierda"; x0 = x; } e.Graphics.DrawString(texto, fuente, Brushes.Black, x0, y); // Pasar a la siguiente línea y += alturaLinea; } y += alturaLinea; // Dibujar una imagen centrada e.Graphics.DrawImage(Image.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"), new RectangleF(e.MarginBounds.Width / 2 - 160, y, 320, 240)); y += 270; texto = "Imagen centrada"; using (Font fnt = new Font("Courier New", 18, FontStyle.Bold)) { e.Graphics.DrawString(texto, fnt, Brushes.ForestGreen, (e.MarginBounds.Width - e.Graphics.MeasureString(texto, fnt).Width) / 2, y); texto = "Hasta aquí no más llegamos"; e.Graphics.DrawString(texto, fnt, Brushes.Tomato, (e.MarginBounds.Width - e.Graphics.MeasureString(texto, fnt).Width) / 2, e.MarginBounds.Height - fnt.GetHeight(e.Graphics)); } e.Graphics.DrawLine(Pens.DarkOrange, 0, e.MarginBounds.Height, e.MarginBounds.Width, e.MarginBounds.Height); } } Por si acaso, eso Posicionar el "cursor" para empezar a imprimir es algo más didáctico que otra cosa (en realidad ni siquiera existe un cursor que vaya moviéndose a medida que escribes o dibujas algo), uno simplemente dibuja figuras, líneas y texto en un objeto Graphics. De hecho, ni siquiera tienes la obligación de respetar los márgenes del documento. Otra cosa, este es un ejemplo de cómo imprimir un documento de una sola página; si quieres imprimir un documento compuesto por varias páginas o ajustar párrafos de varias líneas, eso es un poco más complicado. Por último, si quieres probar el ejemplo de arriba, pero no quieres gastar tinta, simplemente usa alguna impresora virtual, por ejemplo, la XPS Document Writer que viene incluida en las últimas versiones de Windows ;) . [/hide]
-
La encontré a la primera :tonto: . Es Shy Rose y el tema se llama "I cry for you"
-
Yo te recomendaría que, en vez de usar un formulario como barra de herramientas, uses un Panel. Le asignas el valor Left a la propiedad Dock y listo. Con eso logras una barra lateral fija con los controles que necesites. Se vería más o menos así: Si quieres que el GroupBox se ajuste a la pantalla, tendrías que usar la propiedad Anchor. O sea, al GroupBox le asignas un Anchor igual a Top, Bottom, Left, Right, con eso logras que se estire en todas las direcciones, pero los controles que hay dentro de él van a seguir estando amontonados, entonces tienes que asignarle un valor adecuado a la propiedad Anchor de cada control. Por ejemplo, en la siguiente imagen aparece el formulario hijo en su tamaño original: ...y en esta imagen aparece maximizado y la ventana principal está más grande. Los controles que están dentro del GroupBox se acomodan de acuerdo a la propiedad Anchor de cada uno: En este ejemplo, los valores de la propiedad Anchor de los distintos controles son: GroupBox: Top, Bottom, Left, RightComboBox: Top, RightMonthCalendar: Top, BottomBotón de la izquierda: Bottom, LeftBotón de la derecha: Bottom, RightOJO: Dependiendo del formulario y de la resolución de pantalla, los controles pueden quedar muy dispersos.
-
Ayuda con Listview en vb 2008
susodicho replied to Rivx's topic in Aplicaciones de Escritorio & Scripts PHP
En VB.NET 2010 (no sé si será igual en la versión 2008 ) tienes que ir a las propiedades del proyecto, en la pestaña Aplicación haces clic en el botón Ver configuración de Windows y ahí puedes editar el Manifiesto de tu aplicación. Lee esta página para tener una idea de qué modificaciones tienes hacer al manifiesto (básicamente tendrías que cambiar el atributo requestedExecutionLevel). :mmm: En una de esas el problema sea que el usuario pertenece a un grupo que no tiene permisos para realizar operaciones asociadas a restauración de bases de datos (no puede usar RESTORE). Ver aquí -
Ayuda con Listview en vb 2008
susodicho replied to Rivx's topic in Aplicaciones de Escritorio & Scripts PHP
Por lo que entiendo, el código de error que devuelve el SQL Server es el ERROR_FILE_NOT_FOUND. :mmm: Para descartar problemas de permisos (UAC o similares) podrías hacer lo siguiente: Hacer que el usuario elija el archivo de respaldo usando OpenFileDialog (sí, ya sé que no quieres usar esta forma). Así te aseguras que el nombre de archivo (y la ruta completa) es válido. Una vez que tienes el nombre de archivo, verificas que existe usando File.Exists Creo que podría ser un problema con permisos y, si fuese así, quizás tendrías que cambiar el manifiesto de tu aplicación. -
Ayuda con Listview en vb 2008
susodicho replied to Rivx's topic in Aplicaciones de Escritorio & Scripts PHP
La línea dir = lv_respaldos.SelectedItems.Item(Name).ToString reemplázala por esto: Dim token As IEnumerator = lv_respaldos.SelectedItems.GetEnumerator() If token.MoveNext() Then dir = CType(token.Current, ListViewItem).Text End If ten en cuenta que podría no haber ningún elemento seleccionado (y haces las modificaciones correspondientes). Si no hay elementos seleccionados, el método MoveNext() devuelve False. OJO: Estoy asumiendo que el nombre del archivo de respaldo (.BAK) está en la propiedad Text del ListViewItem, tampoco estoy seguro si tiene el nombre completo del archivo (incluyendo la ruta de acceso) o sólo el nombre de archivo. Incluso podrías usar la propiedad Tag para guardar parte del nombre, o sea, podrías usar la propiedad Text para el nombre del archivo (por ejemplo: Copia250712.bak) y la propiedad Tag guardaría el nombre de la carpeta en donde se encuentra (por ejemplo: C:\DBdata\Respaldos), así creo se vería más ordenado el ListView . En todo caso, si todos los respaldos están en la misma carpeta, no habría necesidad de usar la propiedad Tag. Otra cosa, supongo que la propiedad MultiSelect del ListView es False (no tiene sentido elegir más de una copia de seguridad). -
Ayuda con Listview en vb 2008
susodicho replied to Rivx's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: ¿Revisaste el valor de dir? Se me ocurre que no tiene el nombre del archivo Otra cosa, el bloque Try deberías escribirlo así: Try Dim cmdBackUp As New SqlCommand(sBackup, con) cmdBackUp.ExecuteNonQuery() MessageBox.Show("Se ha restaurado la copia de la base de datos. Para visualizar los cambios, debe reiniciar el Sistema.", _ "Restaurar base de datos", MessageBoxButtons.OK, MessageBoxIcon.Information) Catch ex As Exception MessageBox.Show(ex.Message, "Error al restaurar la base de datos", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally con.Close() End Try o sea, el con.Close() va dentro de un Finally -
problema con Nodo en java
susodicho replied to Borrego's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: Hay algo raro, deberías mostrar cómo declaraste la clase...Supongo que tienes una clase Nodo que tiene un campo público llamado sig, pero la clase Lista (o como sea que se llame), no tengo claro qué campos tiene y cómo sabe qué nodo es el último y ¿qué pasa con el primer nodo? De hecho, parece que no tienes una clase Lista, me da la impresión que sólo usas la clase Nodo para guardar la lista :tonto: Para trabajar con listas, pilas y filas, tienes que usar una clase Nodo, esta debe tener uno o varios constructores para asignarle valores a los campos y uno de esos campos será del propio tipo Nodo (es una declaración recursiva) que "apuntará" a otro nodo; además tienes que declarar una clase Lista que tendrá 1 o 2 campos de tipo Nodo, en donde se guardarán el primero y el último (si estás declarando una Pila, entonces basta con un solo nodo, en éste se guarda el último nodo ingresado a la pila, pero para filas y listas necesitas más de un nodo), la clase Lista es la que se encarga de asignar un valor al campo sig (otros prefieren llamarlo sgte ó next) de tal forma de ir armando la lista. Por si acaso, a la clase Nodo puedes no declararle ningún constructor y dejar todos los campos como públicos, pero generalmente a los profes no les gusta mucho esta forma ;) , en todo caso, el campo sig sí puedes dejarlo como público :sipis: . -
epson tm-88iv vb.net
susodicho replied to kracol's topic in Aplicaciones de Escritorio & Scripts PHP
Intenta de esta forma: While epson.CtlState = TxFiscalState.EFP_S_Busy Application.DoEvents() Thread.Sleep(20) End While IMPORTANTE: Cada vez que llames a SendCommand tienes que hacer lo mismo. O sea, tienes que esperar hasta que el comando haya terminado de ejecutarse, para eso usas ciclo While que se ejecuta hasta que la bandera de estado indica que la impresora ya no está ocupada (Busy). El Thread.Sleep es para darle algo de tiempo para que realice su trabajo. -
epson tm-88iv vb.net
susodicho replied to kracol's topic in Aplicaciones de Escritorio & Scripts PHP
Lo primero, trata de ser más específica, o sea, dices que no lo reconoce, pero ¿cuál es exactamente el problema?: No compila (especifica el error que manda) Ocurre una excepción (qué excepción) Se queda pegado El programa se ejecuta y termina normalmente, pero no realiza la acción que tú quieres que haga Lo otro, si no reconoce el EFP_S_Busy (que no es un comando) y dices que en VB6 funciona sin problemas, entonces puede que la constante EFP_S_Busy no esté definida. Si fuese así, entonces bastaría con que lo ejecutes y/o depures en VB6 para ver el valor de ésta. En alguna parte debe estar definida esta constante (en algún archivo *.BAS ó *.INC). Yo te recomendaría que busques qué valor tiene dicha constante (asumo que es un entero), podrías modificar algún programa en VB6 para que muestre su valor. En todo caso, parece que EFP_S_Busy vale 2, pero deberías asegurarte que sea así para la impresora que estás usando. Además te dije que cambiaras el DoEvents() por Application.DoEvents() ;) Escríbelo así: While epson.State = EFP_S_Busy Application.DoEvents() Thread.Sleep(20) End While Ojo, estoy asumiendo que estás desarrollando una aplicación Windows Forms. -
Suponiendo que este sea el foro correspondiente (los usuarios anteriores entendieron que estás haciendo una aplicación web), yo asumo que es una aplicación de escritorio :tonto: ...aquí te dejo un ejemplo en donde uso simplemente un arreglo para guardar varios TextBox, solo hay que preocuparse de agregarlos a un contenedor (en este caso un Panel) Public Class Form1 Dim CuadrosTexto(99) As TextBox Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim a, x, y As Integer a = 0 For y = 0 To 3 For x = 0 To 3 CuadrosTexto(a) = New TextBox() CuadrosTexto(a).Text = CStr(a + 1) CuadrosTexto(a).Location = New Point(x * 40, y * 30) CuadrosTexto(a).Size = New Size(35, 20) Panel1.Controls.Add(CuadrosTexto(a)) a = a + 1 Next Next End Sub End Class si quieres poner los TextBox directamente en el formulario, reemplaza la línea Panel1.Controls.Add(CuadrosTexto(a)) por Me.Controls.Add(CuadrosTexto(a)) o el nombre del contenedor que vayas a usar. También podrías asignarle un nombre a cada TextBox (eso lo agregas tú ;) )
-
epson tm-88iv vb.net
susodicho replied to kracol's topic in Aplicaciones de Escritorio & Scripts PHP
El DoEvents() cámbialo por Application.DoEvents() (además deberías agregarle un Thread.Sleep de unos pocos milisegundos dentro del ciclo While) El código de ejemplo que estás usando ¿es para VB.NET o para VB6? No me queda claro a qué te refieres cuando dices que los códigos te funcionan en VB6, pero no en VB.NET. ¿Te refieres a los códigos que estás pasando a la impresora o te refieres al código fuente? ¿Has probado algo más simple que te indique que puedes usar la impresora usando .NET? ¿Reconoce algún comando enviado desde una aplicación .NET? En algunas partes usas el operador + y en otras el & para unir los comandos. He visto en otros ejemplos por ahí que los comandos se pasan de otra manera a la impresora (creo que usan otros métodos, pero no AddDataField ni SendCommand como lo estás haciendo tú). Así que no estoy seguro si estás haciendo una "traducción directa" de VB6 a VB.NET o si has leído documentación actual de la impresora (actualizada para .NET). -
[problema] Descargar Videos De Tvn [para Los Más Secos]
susodicho replied to ShonenBat's topic in Miscelánea Informática
Yo creo que esto iría en Miscelánea Informática [hide] :mmm: Usa el siguiente patrón: http://www.tvn.cl/archivos/programas/doremix/2012/videos/doremix_DDMMAA.mp4 donde DDMMAA es la fecha en que se emitió el capítulo (creo). La fecha aparece abajo a la izquierda del video. Por ejemplo, si quieres bajar el capítulo de Tito Fernández: sería http://www.tvn.cl/archivos/programas/doremix/2012/videos/doremix_170612.mp4 [/hide] -
Clase Math, problema
susodicho replied to Harp Singer's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: ¿Qué es exactamente lo que tienes que hacer? Lo pregunto porque veo que declaraste: import java.math.BigDecimal.*; así que supongo que tienes que mostrar resultados precisos o más "amigables". Por ejemplo, la raíz cuadrada de 49, el programa la muestra como 7.0, pero quizás tú necesitas que la muestre como 7, sin decimales, ya que el resultado es exacto (un entero). Además, si quieres usar la clase BigDecimal, tienes que declarar simplemente: import java.math.* y, por último, te corresponde a ti usar la clase, la precisión no va a cambiar por el sólo hecho de incluir BigDecimal en una declaración import :tonto: [hide] Dejé num como tipo double y coef como entero: package calculoraiz; import java.math.*; import java.io.*; public class CalculoRaiz { public static void main(String[] args) throws IOException { BufferedReader W = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Ingrese número para el cual quiera saber su raiz: "); Double num = Double.parseDouble(W.readLine()); //una variable que se desea leer System.out.print("Ingrese grado "n" de la raíz (se calculará la raíz n-ésima): "); int coef = Integer.parseInt(W.readLine()); if (coef == 2) System.out.println("La raíz cuadrada del número es: " + Math.sqrt(num)); else System.out.println("La raiz del número es: " + Math.pow(num, 1.0 / coef)); } } [/hide] Por si acaso, este código sigue siendo inexacto; por ejemplo, si calculas la raíz cúbica de 1728, devuelve 11.999999999999998, en vez de 12. Para corregir esto tendrías que usar la clase BigDecimal para cambiar la precisión. Otra cosa, los problemas de precisión son normales al trabajar con valores en punto flotante, esto es debido a la forma en que se almacenan (a nivel de procesador). -
:mmm: ¿Estás usando 2 DateTimePicker para seleccionar horas expresadas de la forma HH:mm? Creo que sería mejor si subes una captura de tu aplicación, donde se vean los valores de los DateTimePicker y qué es lo que aparece como resultado de la operación (ya sea correcto o incorrecto); y en caso de ser incorrecto, qué debería aparecer. Sobre la segunda pregunta, lo mismo, parece una mezcla de peras con manzanas, pero eso dependerá de qué representa el valor entero que tú mencionas (horas, minutos, milisegundos, ticks,...). Quizás haya que realizar alguna conversión antes de realizar la operación. Por favor, especifica qué representa (o unidad de medida) el valor entero. De todas formas, aquí te dejo un código que calcula la diferencia entre dos horas (HH:mm) seleccionadas a través de sus correspondientes DateTimePicker: [hide] Dim fecha1, fecha2 As Date Dim diff As TimeSpan Dim hoy As Date = Date.Today fecha1 = DateTimePicker1.Value fecha2 = DateTimePicker2.Value fecha1 = New Date(hoy.Year, hoy.Month, hoy.Day, fecha1.Hour, fecha1.Minute, 0) fecha2 = New Date(hoy.Year, hoy.Month, hoy.Day, fecha2.Hour, fecha2.Minute, 0) diff = fecha2.Subtract(fecha1).Duration() Label1.Text = String.Format("{0:D2}:{1:D2}", diff.Hours, diff.Minutes) [/hide]
-
Ayuda con Rut en Java(BlueJ)
susodicho replied to oviedofiles's topic in Aplicaciones de Escritorio & Scripts PHP
:mmm: No sé si tu clase estará bien estructurada, pero igual aquí dejo un método que no tengo idea si funciona (no tengo instalado el JDK ni ningún IDE para Java): static public String getRUTstring(int rut, String dv) { NumberFormat nf; nf = NumberFormat.getNumberInstance(new Locale("es","CL")); return (nf.format(rut) + "-" + dv); } Quizás tengas que convertir el método a un método de instancia (no estático) y quitarle los parámetros (usaría los atributos de la clase). Además: if (dv.equalsIgnoreCase(dvo)) { return true; } else { return false; } ...¿no sería mejor escribirlo así?: return dv.equalsIgnoreCase(dvo); Otra cosa, creo que el dígito verficador debería ser de tipo char.