Question: What is the css equivalent to nowrap=”nowrap” of html?
Answer: style=”white-space:nowrap;”
Simple.
Question: What is the css equivalent to nowrap=”nowrap” of html?
Answer: style=”white-space:nowrap;”
Simple.
Arbeitest du mit SQL Server 2008, SqlHelper und benutzerdefinierten Tabellentypen und erhältst folgende Fehlermeldung?
Der eingehende Tabular Data Stream (TDS) für das RPC-Protokoll (Remote Procedure Call) ist nicht richtig. Tabellenwertparameter (’@xxx’), Zeile n, Spalte n: Für den Datentyp xxx (benutzerdefinierter Tabellentyp) wurde ein Datenbankname mit einer Nicht-Null-Länge angegeben. Der Datenbankname ist mit einem Tabellenwertparameter nicht zulässig. Es sind nur ein Schemaname und ein Typname gültig.
Wichtig beim SqlHelper ist bei dieser Fehlermeldung, dass du den CommandType angibst. So wie hier:
dr = SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure, “MyProcedureName”, sqlParams);
Die andere Fehlermeldung, mit der ich Bekanntschaft schließen durfte, war:
Es ist keine Zuordnung zwischen dem Objekttyp System.Collections.Generic.List`1[[Microsoft.SqlServer.Server.SqlDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] und einem bekannten verwalteten systemeigenen Providertyp vorhanden.
Erhältst du diese Meldung, dann solltest du eventuell den SqlDbType deiner übergebenen Liste auf SqlDbType.Structured setzen. Siehe hier:
List<SqlDataRecord> datList = new List<SqlDataRecord>();
SqlMetaData[] tvp_definition = { new SqlMetaData(”n”, SqlDbType.BigInt) };
foreach (MyDataInfo dat in datas)
{
SqlDataRecord rec = new SqlDataRecord(tvp_definition);
rec.SetInt64(0, dat.SomePropertyId);
datList.Add(rec);
}
SqlParameter[] sqlParams = new SqlParameter[1];
SqlParameter param = new SqlParameter(”@MyParameter”, datList);
param.Direction = ParameterDirection.Input;
param.TypeName = “long_list_tbltype”; // long_list_tbltype ist ein von mir definierter Tabellentyp
param.SqlDbType = SqlDbType.Structured;
sqlParams[0] = param;dr = SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure, GetFullyQualifiedName(”MyProcedureName”), sqlParams);
Ich bin auf diese Probleme gestoßen, weil ich eine generische Liste an eine Procedure übergeben wollte. Wie das geht, siehst du in diesem Artikel: Arrays and Lists in SQL Server
Do you want to create thumbnails for pdf files? You can simply do this with ghostscript. Here’s the php way:
$pathToPdf = “C:\….\PdfFile.pdf”;
$pathToJpg = “C:\….\generatedThumbnail.jpg”;$gsCall = “\”C:\….\gs\gs8.70\bin\gswin32.exe\” -q -dBATCH -dMaxBitmap=300000000 -dNOPAUSE -dSAFER -sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dFirstPage=1 -dLastPage=1 -sOutputFile={0} {1} -c quit”;
$gsCall = str_replace(array(’{0}’, ‘{1}’), array($pathToJpg, $pathToPdf), $gsCall); // or use sprintf
$str = exec($gsCall, $output=array(), $returnValue);
This code will generate a jpg file with the content of the first page of the pdf file.
Ready.
Here is your example how to implement Zend_Captcha_Image without using Zend_Form.
In your action method:
public function indexAction()
{
//…
$captcha = new Zend_Captcha_Image();
$captcha->setImgDir(APPLICATION_PATH . ‘/../public/tmp/captcha/’);
$captcha->setImgUrl($this->view->baseUrl(’/tmp/captcha/’));
$captcha->setFont(APPLICATION_PATH . ‘/fonts/elephant.ttf’);
$captcha->setWidth(350);
$captcha->setHeight(150);
$captcha->setWordlen(5);
$captcha->setFontSize(70);
$captcha->setLineNoiseLevel(3);
$captcha->generate();
$this->view->captcha = $captcha; // giving captcha object to the view
//…
}
In the corresponding view render the captcha and add a hidden field with the captcha id:
<form …
<input id=”captcha” type=”text” name=”captcha” />
<?php echo $this->captcha->render($this, null) ?>
<input type=”hidden” name=”cid” value=”<?php echo $this->captcha->getId() ?>” />
….</form>
Validating the input of the user after postback:
// …
$capId = $_POST['cid'];
$capSession = new Zend_Session_Namespace(’Zend_Form_Captcha_’.$capId);
if ($_POST['captcha']==$capSession->word)
{
// input OK
}
else {
// input NOK
}
// …
Good luck!
PS: If you want to use your Zend_Captcha WITH Zend_Form, this blog post may help you: Zend_Captcha with Zend_Form
If you want to delete files by pattern (e.g. “*.txt”) in a directory, you can do this with the php function glob!
$files = glob(’/path/to/files/*.txt’); // finds all txt files in the directory /path/to/files/
foreach($files as $file)
unlink($file);
With this method you can also delete all files of a directory – with pattern *.*
Simple question – simple answer:
How do I delete all files in a directory with PHP?
$files = glob(’/path/to/directory/*.*’);
foreach($files as $file)
unlink($file);
>> Download Example project (VS 2005)
In this article I will show you the results of my search to find a way to print a pdf with .NET.
My task was to find a simple solution for an intranet web application where the user gets pdf reports (ActiveReports). Depending on configuration settings these pdf files should be displayed in the browser and be printed immediately or just be printed immediatly – to the default printer or to a known network printer.
The existing solution was based on the pdf browser plugins. But it was not satisfactory because the user had to do the following steps: view the pdf file in the browser (pdf browser plugin), click the print button, handle the printer dialog popup, click the OK button to send the document to the printer. And some users had to do this more then one hundred times a day. And some users had to do this more than a hundred times a day!
My (more than revolutionary
idea was, that I may need the pdf browser plugin for viewing pdf files, but not for printing them! So I tried different ways, which I wanted you to show now – I did not bring all of them to an end, as some turned out to be inappropriate for my intentions very soon.
Important: these solutions are only making sense if you want to print to a known printer (like in intranets) – they will not work on normal, “public” web sites.
You can download the sample project and do your own experiments. Here is a screenshot of the sample project:
My results:
First you have to install Ghostscript, an interpreter for the PostScript language and for PDF. Code:
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.Arguments = String.Format(” -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -sDEVICE=ljet4 -sOutputFile=\”\\\\spool\\{0}\” \”{1}\”", printerName, pdfFileName);
psInfo.FileName = @”C:\Program Files\gs\gs8.70\bin\gswin32c.exe”;
psInfo.UseShellExecute = false;
Process process = Process.Start(psInfo);
This is another version I found on the web. The code uses the print/printto command of the DOS shell. In the example project, which you can download above, there are two versions of parameters in the code. I never got it work, but I think, it cannot be done: you cannot print a pdf file via shell – but it will work with raw text files. Please tell me your results!
Try this in your DOS prompt:
print /D:”\\COMPUTERNAME\PRINTERNAME” “PDFFILEPATH”
For those who want to try it themselves
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.Verb = “Print”; // or “PrintTo”
psInfo.FileName = pdfFileName;
psInfo.Arguments = String.Format(”/p /h \”{0}\” \”{1}\”", pdfFileName, printerName);
psInfo.WindowStyle = ProcessWindowStyle.Hidden;
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = true;
Process process = Process.Start(psInfo);
Using the .NET object PrintDocument is another possible way, but you will need third party components to raster the pdf. More information: >>Component for rendering pdf documents
PrintDocument pd = new PrintDocument();
pd.DocumentName = pdfName;
pd.PrinterSettings.PrinterName =printerName;
pd.PrinterSettings.PrintFileName = fileName;
pd.PrintController = new StandardPrintController();
pd.OriginAtMargins = false;
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.Print();
PDFsharp is an open source .NET library for processing PDF. You can use it for printing too. Simple usage, but the problem here: the AdobeReader application window appears (not suitable for my intentions). But I found out that you do not need PDFsharp to print out a pdf – see chapter 5
PdfFilePrinter.AdobeReaderPath = @”C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe”
PdfFilePrinter printer = new PdfFilePrinter(pdfFileName, printerName);
printer.Print();
This was the best way for me! Although I’ve read that this only works with old versions of Acrobat Reader, it works with version 9.0!
A word to the arguments:
print it to the default printer: /s /o /h /p “pdfFileName”
print it to a defined printer: /s /o /h /t “pdfFileName” “printername” “drivername” “portname”
More information at the Adobe Acrobat Developer FAQ on page 27!
To download the free acrobat reader use this link: Acrobat Reader
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = @”C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe”;
psInfo.Arguments = String.Format(”/s /o /h /p{0}”, pdfFileName);
psInfo.WindowStyle = ProcessWindowStyle.Hidden;
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = true;
Process process = Process.Start(psInfo);
If you want to find out the language or country of the clients browser, do it this way:
<?php
require_once ‘Zend/Locale.php’;
$locale = new Zend_Locale();
echo $locale->toString();
?>
But be aware! This way you only get the localisation of the clients browser. And this is configurable by the user.
The code above will give you output like this:
de_AT
or
en_US
There are many methods you can use with zend localisation:
<?php echo $locale->toString() ?>
<?php echo $locale->getLanguage() ?>
<?php echo $locale->getRegion() ?>
<?php print_r($locale->getBrowser()); // Return an array of all accepted languages of the client ?>
Example output:
de_AT
de
AT
Array ( [de_AT] => 1 [de] => 1 [de_DE] => 0.8 [en_GB] => 0.5 [en] => 0.5 [en_US] => 0.3 )
Good luck!
Das Passwort für den Gast-Account unter Windows 7 zu setzen ist eigentlich gar nicht schwer, wenn man einmal weiß, wie’s geht
Viel Erfolg
Do you want to set a password for the guest account in windows 7 (or vista)?
It’s quite simple… if you know it
© 2009 Freelancer Martin Zeller. All Rights Reserved.
This blog is powered by Wordpress and Magatheme by Bryan Helmig.
Letzte Kommentare