Spanish aplicacion que recupere un archivo csv y llamar a un número

LG Arts HD

Member
Licensed User
Longtime User
hola! necesito ayuda, se supone que esta aplicacion debe leer un archivo .csv que contiene una lista de nombres y números telefonicos, debe mostrar identificacion del numero telefonico y generar una llamada al número elegido, ojala puedan orientarme un poco, soy nuevo en esto
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Leer un fichero .csv:

B4X:
Dim Reader As TextReader
Dim S As String
Reader.Initialize(File.OpenInput(DirectorioDelFichero, "NombreFichero.csv"))
S = Reader.ReadAll
Reader.Close

Llamar a un numero de telefono:

B4X:
Dim pc As PhoneCalls
StartActivity(pc.Call(NumeroTelefono))

Nota: Para otra vez haz las preguntas por separado, será mas facil que te respondan y seguiremos creando un foro mas estructurado.

Saludos
 

LG Arts HD

Member
Licensed User
Longtime User
oye pero en donde va el directorio del fichero como lo pongo? por ejemplo lo tengo en Bibliotecas - Documentos, quedaría algo como:

C:/Usiarios/Usuario/MisDocumentos/archivo.csv
 

bgsoft

Well-Known Member
Licensed User
Longtime User

LG Arts HD

Member
Licensed User
Longtime User
ya tengo la aplicación, el problema es que al llamar, solo toma los ultimos 6 digitos de un numero telefonico

este es mi código

B4X:
Dim agenda As MaskedEditText
    Dim llamar As PhoneCalls
   

End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("llamada1")
   
    agenda.Initialize(File.OpenInput(File.DirAssets, "contac.csv" ))
    agenda.Format = "(###) ### ####"
    agenda.InputType = agenda.INPUT_TYPE_PHONE
    agenda.SingleLine = True
    Activity.AddView(agenda, 0, 0, 320dip, 50dip)
   

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub ImageView1_Click

    StartActivity(llamar.Call(agenda.Text))
   
End Sub
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Verás, sin ver el fichero es dificil saber que es lo que hay, por otro lado no entiendo por que empleas un
MaskedEditText, ya que si los datos del teléfono estan en un fichero, lo logico es que emplees un label para que el usuario lo vea y no lo cambie.

agenda.Format = "(###) ### ####"
Con esto estas haciendo una entrada de 10 digitos, tres para el prefijo

Creo que lo que deberias hacer es crearte una variable de tipo type:
B4X:
Type Datos(Nombre As String, Apellido As String, Telefono As String)

Crear un botón de llamada y un label para ver el telefono que quieres llamar.
Leer el fichero como te puse y meterlo en un list por ejemplo.
Cargar un ListView con los datos, poner en el tag el numero de telefono.
Cuando hagan click en el ListView pasar el tag al label
Cuando pulsen el boton de llamar verificar que el label contiene un telefono y hacer la llamada

Saludos
 

LG Arts HD

Member
Licensed User
Longtime User
mira estas son mis instrucciones

Desarrolle una aplicación que recupere de una archivo separado por comas
(CSV) una lista de nombres y teléfonos y los muestre en una app. Deberá
mostrar información de identificación del teléfono y generar la llamada al número
elegido.

nos dijo el Ing que debíamos usar la libreria Masked EditText
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

A ver, en la programación cada uno emplea lo que quiere, y no hay una solución para un problema concreto, si no que cada uno lo resuelve de la mejor forma posible. Lo ideal es encontrar esa solución que sea fácil y rapida de ejecucion. No se cual es el sentido que te pidan emplear un MaskedEditText, ya que si como tu dices tienes que mostrar lo que contiene un archivo, no tiene sentido emplear un objeto que se emplea para introducir datos formateados.

Yo lo que creo es que te ha pedido que visualices , y luego para la introducción de datos y porterior grabación al fichero emplees el MaskedEditText, ya que este te filtra y asi esa parte del codigo te la evitas.

Si quieres emplear el MaskedEditText como visor, carga en el MaskedEditText.Text los numeros de telefonos-

Hay una forma muy simple de saberlo, preguntale a esa persona si el empleo del MaskedEditText es para la introducción de datos , y si la visualizacion la quieres en el mismo o en un objeto label.

Saludos
 
Top