Gestión de datos altas, bajas,consultas 1Tabla con 3 campos
Publicado: 02 Dic 2006, 14:33
Almacenar direcciones Web, con descripción y palabras clave de búsqueda.
Este es un ejemplo muy muy elemental, que no usa las capacidades de base de datos reales mysql, sqlite, dbase de Autoit. Es un ejemplo de acceso a ficheros ascii a pelo. Usando mysql, en cambio, es mucho más facil.
Esto es un programita básico para gestionar una tabla de datos con 3 campos, en este caso son url, descripción y palabras clave de búsqueda relacionadas.
También vale para cualquier otro tema como puede ser catalogar cds, articulos, agenda de telefonos y cualquier dato.
No es de Botones, sino a traves de un menú con preguntas
Se almacenan en formato Ini y exporta en Html.
Programa sencillito que crea un fichero de texto.
Este es un ejemplo muy muy elemental, que no usa las capacidades de base de datos reales mysql, sqlite, dbase de Autoit. Es un ejemplo de acceso a ficheros ascii a pelo. Usando mysql, en cambio, es mucho más facil.
Esto es un programita básico para gestionar una tabla de datos con 3 campos, en este caso son url, descripción y palabras clave de búsqueda relacionadas.
También vale para cualquier otro tema como puede ser catalogar cds, articulos, agenda de telefonos y cualquier dato.
No es de Botones, sino a traves de un menú con preguntas
Se almacenan en formato Ini y exporta en Html.
Programa sencillito que crea un fichero de texto.
; Author: Basicos de http://www.autoit.es , 25/11/05
; ----------------------------------------------------------------------------
$IniFile = @ScriptDir & "\gesdata.txt"
Global $Command
ConfigWebsiteDB ()
Func ConfigWebsiteDB ()
$Command = InputBox("Base de Datos http://www.autoit.es", "Entre un comando..." & @CRLF & @CRLF & _
"Comandos disponibles:" & @CRLF & @CRLF & "Pon Cat" & @TAB & @TAB & "Añade una categoria" & @CRLF & _
"Pon Apunte" & @TAB & "Añade un elemento a una categoria." & @CRLF & _
"Quita Cat" & @TAB & @TAB & "Borra una categoría." & @CRLF & _
"Quita Apunte" & @TAB & "Borra un elemento de una categoría concreta." & @CRLF & _
"Edit Cat" & @TAB & @TAB & "Edita Elementos en cierta categoria." & @CRLF & _
"Exporta Todo" & @TAB & "Exporta todas las categorias incluye todos elem." & @CRLF & _
"Exporta Cat" & @TAB & "Exporta una categoria incluye todos elem." & @CRLF & _
"Rename Cat" & @TAB & "Renombra una categoria." & @CRLF & _
"Buscar" & @TAB & @TAB & "Buscar en la base datos cierta palabra." & @CRLF & _
"Mostrar Cats" & @TAB & "Muestra todas las categorias" & @CRLF & _
"Mostrar Apuntes" & @TAB & "Muestra todos los elementos en una cierta categoria.", "", "" _
, 400, 350)
$Command = StringLower($Command)
$CountCats = CountCats ()
If $CountCats <> 0 Then
$List = ListCats ()
$Category = IniRead($IniFile, "Settings", "Categories", "")
$Category = StringSplit($Category, "|")
$Error = "No"
Else
$Error = "Yes"
EndIf
Select
Case $Command = "Pon Cat"
AddCat ()
Case $Command = "Pon Apunte"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
$WhichCat = InputBox("Pon Apunte", "¿A que categoría quiere añadir una elemento?" & _
@CRLF & @CRLF & $List, "", "", 400, 350)
If $WhichCat = "" Then Return
$Category = $Category[$WhichCat]
AddItem ($Category)
Case $Command = "Mostrar Apuntes"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
$WhichCat = InputBox("Mostrar Apuntes", "¿De que categoría quiere ver los elementos?" & _
@CRLF & @CRLF & $List, "", "", 400, 350)
$Category = $Category[$WhichCat]
ShowItems ($Category)
Case $Command = "Mostrar Cats"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
MsgBox(0, "Muestra Categorias", "Categorias actuales: " & @CRLF & ListCats ())
Case $Command = "Exporta Todo"
If $Error = "Yes" Then
NoCats ()
Return
Else
ExportAll ()
EndIf
Case $Command = "Edit Cat"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
$WhichCat = InputBox("Edita Category", "¿Que categoría quiere modificar?" & _
@CRLF & @CRLF & $List, "", "", 400, 350)
If $WhichCat = "" Then Return
$Category = $Category[$WhichCat]
EditCat ($Category)
Case $Command = "Rename Cat"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
$WhichCat = InputBox("Renombra Categoría", "¿Que categoria le gustaría renombrar?" & _
@CRLF & @CRLF & $List, "", "", 400, 350)
If $WhichCat = "" Then Return
$Category = $Category[$WhichCat]
RenCat ($Category, $WhichCat)
Case $Command = "Buscar"
If $Error = "Yes" Then
NoCats ()
Return
EndIf
$SearchWord = InputBox("Buscar", "Entre una palabra por la cual buscar.")
If $SearchWord <Then>ConfigWebsiteDB
While $Command </TITLE>ExportCat
Func ExportAll ()
$Category = IniRead($IniFile, "Settings", "Categories", "0")
$Category = StringSplit($Category, "|")
$CountCats = $Category[0]
$WritePage = FileOpen(@ScriptDir & "\WebsiteDB.htm", 2)
FileWriteLine($WritePage, "<HTML>")
FileWriteLine($WritePage, "<HEAD>")
FileWriteLine($WritePage, '<base>')
FileWriteLine($WritePage, "<TITLE>Website Database</TITLE>")
FileWriteLine($WritePage, "<STYLE>")
FileWriteLine($WritePage, 'Body { font-family: Tahoma, Arial; text-decoration: none; font-size: 12pt; }')
FileWriteLine($WritePage, 'a { text-decoration: none; font-size: 11pt; }')
FileWriteLine($WritePage, 'a:link { text-decoration: none; font-size: 11pt; }')
FileWriteLine($WritePage, 'a:active { text-decoration: none; font-size: 11pt; }')
FileWriteLine($WritePage, 'a:hover { text-decoration: underline; font-size: 11pt; }')
FileWriteLine($WritePage, "</STYLE>")
FileWriteLine($WritePage, "</HEAD>")
FileWriteLine($WritePage, '<BODY>')
FileWriteLine($WritePage, '<BR>')
FileWriteLine($WritePage, '<ul>')
For $c = 1 To $CountCats
$CheckCat = $Category[$c]
$CountItems = IniRead($IniFile, $CheckCat, "Count", "0")
$CountItems = Number($CountItems)
FileWriteLine($WritePage, '<li>' & $CheckCat & '</li>')
FileWriteLine($WritePage, '<ul>')
For $i = 1 To $CountItems
$CheckItem = IniRead($IniFile, $CheckCat, "Item" & $i, "0")
$Item = StringSplit($CheckItem, "|")
FileWriteLine($WritePage, '<li><A>' & $Item[2] & $Item[3] & '</A></li>')
Next
FileWriteLine($WritePage, '</ul><BR>')
Next
FileWriteLine($WritePage, '</ul>')
FileWriteLine($WritePage, '</BODY>')
FileWriteLine($WritePage, '</HTML>')
FileClose($WritePage)
Run(@ProgramFilesDir & '\Internet Explorer\iexplore.exe ' & @ScriptDir & '\WebSiteDB.htm', '', @SW_MAXIMIZE)
Exit
EndFunc;==>ExportAll
Func Buscar ($SearchWord)
$Category = IniRead($IniFile, "Settings", "Categories", "0")
$Category = StringSplit($Category, "|")
$CountCats = $Category[0]
$Found = 0
For $c = 1 To $CountCats
$CheckCat = $Category[$c]
$CountItems = IniRead($IniFile, $CheckCat, "Count", "0")
For $i = 1 To $CountItems
$CheckItem = IniRead($IniFile, $CheckCat, "Item" & $i, "0")
$Match = StringInStr($CheckItem, $SearchWord)
If Not $Match = 0 Then
$Item = StringSplit($CheckItem, "|")
MsgBox(0, "Category: " & Chr(34) & $CheckCat & Chr(34), "Url:" & @CRLF & $Item[1] & _
@CRLF & @CRLF & "Description:" & @CRLF & $Item[2] & _
@CRLF & @CRLF & "Keywords:" & @CRLF & $Item[3] & _
@CRLF)
$Found = $Found + 1
EndIf
Next
Next
If $Found = 0 Then MsgBox(0, "Busqueda", "Lo siento, no hay ningún resultado encontrado.")
EndFunc;==>Buscar
Func CountItems ($Category)
$ItemCount = IniRead($IniFile, $Category, "Count", 0)
If $ItemCount = 0 Then Return
Return $ItemCount
EndFunc;==>CountItems
Func NoCats ()
MsgBox(0 + 48, "Base de Datos", "No hay categorías!")
EndFunc;==>NoCats
Func NoItems ()
MsgBox(0 + 48, "Base de Datos", "No hay elementos en esta categoría!")
EndFunc;==>NoItems
Func DelItem ($Category)
$List = ListItems ($Category)
If $List = 0 Then
NoItems ()
Return
EndIf
$WhichDel = InputBox("Borrar Elementos de la Categoria", "¿Cual de los elementos quiere borrar?" & @CRLF & _
$List, "", "", 400, 350)
If $WhichDel = "" Then Return
$Count = CountItems ($Category)
IniDelete($IniFile, $Category, "Item" & $WhichDel)
If $WhichDel <Count>DelItem
Func DelCat ($Category)
$Count = CountItems ($Category)
For $i = 1 To $Count
IniDelete($IniFile, $Category, "Item" & $i)
Next
IniDelete($IniFile, $Category, "Count")
$ReadCatList = IniRead($IniFile, "Settings", "Categories", "")
$DeleteCat = StringReplace($ReadCatList, $Category, "")
$DeleteCat = StringReplace($DeleteCat, "||", "|")
IniWrite($IniFile, "Settings", "Categories", $DeleteCat)
$OpenINI = FileOpen($IniFile, 0)
$ReadINI = FileRead($OpenINI, FileGetSize($IniFile))
$Replace = StringReplace($ReadINI, "[" & $Category & "]" & @CRLF, "")
FileClose($OpenINI)
$File = FileOpen($IniFile, 2)
FileWrite($File, $Replace)
FileClose($File)
EndFunc;==>DelCat
Func ListItems ($Category)
$Items = CountItems ($Category)
$List = ""
For $i = 1 To $Items
$Item = IniRead($IniFile, $Category, "Item" & $i, "")
$Item = StringSplit($Item, "|")
$List = $List & $i & ") " & $Item[1] & @CRLF & @TAB & $Item[2] & @CRLF & @TAB & $Item[3] & @CRLF
Next
If $Items <> "0" Then Return $List
EndFunc;==>ListItems
Func ShowItems ($Category)
$Items = CountItems ($Category)
$Items = Number($Items)
If $Items = 0 Then
NoItems ()
Return
EndIf
$List = ""
$Urls = ""
For $i = 1 To $Items
$Item = IniRead($IniFile, $Category, "Item" & $i, "")
$Item = StringSplit($Item, "|")
$Urls = $Urls & $i & ") " & $Item[1] & @CRLF
$Description = $Description & $i & ") " & $Item[2] & @CRLF
$Keywords = $Keywords & $i & ") " & $Item[3] & @CRLF
$List = "Links:" & @CRLF & $Urls & @CRLF & "Descripciones:" & @CRLF & $Description & @CRLF & _
"Keywords:" & @CRLF & $Keywords & @CRLF
Next
MsgBox(0, "Items from " & $Category, $List)
EndFunc;==>ShowItems
Func ListCats ()
$Category = IniRead($IniFile, "Settings", "Categories", "")
$Category = StringSplit($Category, "|")
$List = ""
For $i = 1 To $Category[0]
$List = $List & $i & ") " & $Category[$i] & @CRLF
Next
Return $List
EndFunc;==>ListCats
Func CountCats ()
$Category = IniRead($IniFile, "Settings", "Categories", "")
If $Category = "" Then
Return 0
EndIf
$Category = StringInStr($Category, "|")
If $Category > 0 Then
$Category = StringSplit($Category, "|")
Return $Category[0]
Else
Return 1
EndIf
EndFunc;==>CountCats
Func EditCat ($Category)
$List = ListItems ($Category)
If $List = 0 Then
NoItems ()
Return
EndIf
$WhichEdit = InputBox("Editar Elementos de la categoria", "¿Cual de los elementos quiere editar?" & @CRLF & _
$List, "", "", 400, 350)
If $WhichEdit = "" Then Return
$Count = CountItems ($Category)
$ReadItem = IniRead($IniFile, $Category, "Item" & $WhichEdit, "")
$Item = StringSplit($ReadItem, "|")
$AddUrl = InputBox("1/3) Pon Apunte to Category", "Añade una fecha-oUrl para este elemento en la categoria:" & @CRLF & _
Chr(34) & $Category & Chr(34), $Item[1], "", 400, 350)
If $AddUrl = "" Then Return
$Description = InputBox("2/3) Añada una descripción para el elemento", "Añada una descripción para el elemento." & @CRLF & _
"Url: " & $AddUrl & @CRLF & _
"Category: " & Chr(34) & $Category & Chr(34), $Item[2], "", 400, 350)
If $Description = "" Then Return
$Keywords = InputBox("3/3) Añada Precio-oPalabrasdebusqueda", "Añada Precio-oPalabrasdebusqueda" & @CRLF & _
"Url: " & $AddUrl & @CRLF & _
"Description: " & $Description & @CRLF & _
"Category: " & Chr(34) & $Category & Chr(34), $Item[3], "", 400, 350)
If $Keywords = "" Then Return
$AddItem = $AddUrl & "|" & $Description & "|" & $Keywords
IniWrite($IniFile, $Category, "Item" & $WhichEdit, $AddItem)
EndFunc;==>EditCat
Func AddCat ()
$AddCat = InputBox("1/1) Pon Category", "Usted puede añadir una categoría...", "", "", 400, 350)
If $AddCat = "" Then Return
$Category = IniRead($IniFile, "Settings", "Categories", "")
If $Category <Then>AddCat
Func RenCat ($Category, $CategoryNum)
$RenCat = InputBox("1/1) Rename Category", "Enter the new name of category:" & _
@CRLF & Chr(34) & $Category & Chr(34), "", "", 400, 350)
If $RenCat = "" Then Return
$ReadCatList = IniRead($IniFile, "Settings", "Categories", "")
$ReadINI = FileRead($IniFile, FileGetSize($IniFile))
$Replace = StringReplace($ReadINI, "[" & $Category & "]", "[" & $RenCat & "]")
Sleep(1 * 500)
$File = FileOpen($IniFile, 2)
FileWrite($File, $Replace)
FileClose($File)
$NewCat = StringReplace($ReadCatList, $Category, $RenCat)
IniWrite($IniFile, "Settings", "Categories", $NewCat)
EndFunc;==>RenCat
Func AddItem ($Category)
$AddUrl = InputBox("1/3) Pon Apunte a una Categoría", "Añada la fecha-o Url para el elemento en la categoría:" & @CRLF & _
Chr(34) & $Category & Chr(34), "", "", 400, 350)
If $AddUrl = "" Then Return
$Description = InputBox("2/3) Añada una descripción para un elemento", "Añada una descripción para el elemento." & @CRLF & _
"Url: " & $AddUrl & @CRLF & _
"Category: " & Chr(34) & $Category & Chr(34), "", "", 400, 350)
If $Description = "" Then Return
$Keywords = InputBox("3/3) Añada Precio-oPalabrasdebusqueda para el elemento", "Añada Precio-oPalabrasdebusqueda para el elemento." & @CRLF & _
"Url: " & $AddUrl & @CRLF & _
"Description: " & $Description & @CRLF & _
"Category: " & Chr(34) & $Category & Chr(34), "", "", 400, 350)
If $Keywords = "" Then Return
$ItemNum = CountItems ($Category)
$ItemNum = $ItemNum + 1
$AddItem = $AddUrl & "|" & $Description & "|" & $Keywords
IniWrite($IniFile, $Category, "Item" & $ItemNum, $AddItem)
IniWrite($IniFile, $Category, "Count", $ItemNum)
EndFunc;==>AddItem
MsgBox(0, "www.autoit.es", "Gestión Urls ")
Exit