Pequeña aplicación para Contar los Caracteres/Palabras que hay en un texto plano, incluye opciones para abrir y guardar un documento.
Version Anterior
(http://r.i.elhacker.net/cache?url=http://i36.servimg.com/u/f36/11/66/25/27/w10.png)
Nueva version
(http://i36.servimg.com/u/f36/11/66/25/27/ed10.png)
Descargar Proyecto (http://h1.ripway.com/Braayhaan/Notepad%20+%20Counter.rar)
Nuevas opciones para cambiar la tipografia utilizada y tambien el color.
Modificado los botones ya no son como los feos de Windows xD
Modificada la fuente de la aplicacion por mi Preciada "Segoe UI"" Se habran dado cuenta que la uso en todos mis programas no? xD
Si le pones la opción de contar palabras lo añado a la lista de posts interesantes.. :)
Okokok dejame ver que puedo hacer xDD
ajja me parece que te emocionaste con WPF =P , sin ofender, al contrario , muy buen trabajo
supongo que estos programas lo estas haciendo para practicar (por como vos dijiste,no tiene mucha utilidad), asi que estaria bueno que le vallas agregando funcionalidades
salu2 =D
pd: hace falta un manual de wpf para el foro :silbar:
SmogMX pues vayan haciéndolo xD a mi no me gusta mucho que digamos xD Diseñando soy buen panadero xD
Ayudo y comento ;D
Me gusta tu iniciativa Braayhaan ;)
Para contar las palabras puedes contar los espacios vacios (" ") y sumarle 1 ya que
Hola Texto De Prueba
Tiene 3 espacios + 1 = 4 Palabras
Tambien puedes agregarle contar vocales y consonantes entre muchas cosas más que podrías contar...
Bueno he conseguido hacerlo funcionar pero de una forma muy peculiar solo funciona una sola vez xD
este es el code que he usado
Dim con As Integer = 1
Dim i As Integer
Dim Cadena As String
Cadena = TextBox1.Text
For i = 1 To Len(Cadena)
If Mid(Cadena, i, 1) = " " Then
con = con + 1
End If
Next
Label1.Text = CStr(con)
Me funciona perfecto pero al dar click de nuevo al boton pasa esto: ejemplo escribo "hola como estas" pone que hay 3 palabras en el label, pero al darle click nuevamente al boton me suma ese resultado entonces me sale 6 xDD.
Supongo que la solucion a esto debe ser sencilla pero ahorita no se me ocurre nada si me pueden echar una mano con eso se los agradeceria :P
Salu2
Te doy una idea, primero agarra el string de todo el texto. LUego haces un split por \r\n o \n de esa forma te da un arreglo por cada párrafo. Ahora iteras cada párrafo y haces un split por el char ' ' espacio! y listo :) cuentas y ya xD
EDIT, creo que si haces un split por new char[] { '\n' , ' '} tambien debe funcionar!
¿Con que sacaste la imagen de la ventana que esta sombreada?
ehhh Impr pant pet sis y el efecto shadow del Photoshop xd
[D4N93R] No he cachado nada yo la verdad es que no me llevo bien con los strings y estas cosas no logro hacerlo funcionar "por segunda vez" xD
Me acabo de fijar que Cambiando el Option Strict a Off "lo tenia en On no se porque"
Al usar este codigo de aca me da el resultado cada vez que doy click pero con 1 palabra menos :S
con = 0
Sigo sin entender mucho estas cosas la verdad xD
--------EDITO--------
ya funciona perfecto! :D
este es el code :P
Dim con As Integer = 1
Dim i As Integer
Dim Cadena As String
con = 1
Cadena = TextBox1.Text
For i = 1 To Len(Cadena)
If Mid(Cadena, i, 1) = " " Then
con = con + 1
End If
Next
Label1.Text = CStr(con)
Bueno gracias a todos ya pude añadirle el contador de palabras xDD
Hay actualice la imagen y les dejo el Direct Download :P
Podrías usar el evento TextChanged del textbox para que mientras escribas te cuente las palabras y letras tambien :silbar:
Jajajaja y yo pensaba que yo era muy perfeccionista con algunas cosas xD bueno ya lo pongo :)
Si hubiese un espacio al final de todo el texto se contaria como una palabra mas.
Hace un tiempo hice algo asi para sacar info de archivos de texto, es similar a lo que comento [D4N93R].
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim palabras As Integer = 0
Dim letras As Integer = 0
Dim numeros As Integer = 0
Dim lineas As String() = File.ReadAllLines("C:\1.txt")
For Each linea As String In lineas
For Each palabra As String In linea.Split(" ")
If (palabra.Length > 0) Then
palabras = palabras + 1
For Each letra As Char In palabra.ToCharArray()
If (Asc(letra.ToString()) > 47 And Asc(letra.ToString()) < 58) Then
numeros = numeros + 1
ElseIf (Asc(letra.ToString()) > 64 And Asc(letra.ToString()) < 123) Then
letras = letras + 1
End If
Next
End If
Next
Next
Label1.Text = "Palabras: " & palabras & Microsoft.VisualBasic.vbNewLine & "Letras: " & letras & Microsoft.VisualBasic.vbNewLine & "Numeros: " & numeros
End Sub
End Class
se puede optimizar, hasta se puede hacer facil con expresiones regulares.
Consejo, no uses cstr!!! Usa .toString() !
Codelive, lindo codigo, aun asi apostaria a regexp :xD
C# Regular Expression Recipes—Counting Lines of Text (http://en.csharp-online.net/CSharp_Regular_Expression_Recipes%E2%80%94Counting_Lines_of_Text)
Keyen Night ya le puse el Textchanged y le modifique la interface y le puse tooltip a los botones xDD
Nueva version :silbar:
Hola, yo intenté hacer algo parecido pero no me funcionó. ¿Están seguros que hay que usar .toString() en vez de cstr?
Aun cuentas con el proyecto?
Cita de: Esxdlr en 29 Enero 2015, 01:13 AM
Aun cuentas con el proyecto?
Cita de: Perfil de usuarioÚltima vez activo: 20 Septiembre 2011, 09:34
Está prohibido revivir temas antiguos, porfavor leer las normas del foro.
PD: La manipulación de texto es un tema sencillo, utiliza el foro para formular dudas específicas.
Tema cerrado.